Tutorials(gelöst)

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
McCry
Beiträge: 42
Registriert: Mi 20. Jul 2011, 21:49
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Na Hier
Kontaktdaten:

Tutorials(gelöst)

Beitrag von McCry »

Hallo,
Pascal lerne ich jetzt schon seit einem Jahr in der Schule.
Da die Programme von Pascal ncht gerade "hübsch" sind,
habe ich mir jetzt Lazarus heruntergeladen.
Leider sind die Befehle im Lazarus-Compiler
etwas anders als im Pascal-Compiler. Deshalb suche ich jetzt eine
gute Website auf der alles super und einfach erklärt ist.
Würde mich freuen wenn jemand eine solche Seite kennt.

LG McCry
Zuletzt geändert von McCry am Sa 13. Aug 2011, 21:56, insgesamt 1-mal geändert.

Code: Alles auswählen

Signatur[color=#FF0000]:=[/color]McCry
Website[color=#FF0000]:=[/color][color=#0000FF]ritualist.bplaced.net[/color]

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Re: Tutorials

Beitrag von creed steiger »

McCry hat geschrieben: Leider sind die Befehle im Lazarus-Compiler
etwas anders als im Pascal-Compiler.
Der "Lazarus-Compiler" ist Freepascal

Welche Befehle du meinst ist mir allerdings etwas unklar.
Erster Anlaufpunkt sollte wohl das Wiki sein:

http://wiki.freepascal.org/" onclick="window.open(this.href);return false;

Die Videotutorials find ich auch ganz schick:
http://www.schoolfreeware.com/Free_Pasc ... rials.html" onclick="window.open(this.href);return false;

McCry
Beiträge: 42
Registriert: Mi 20. Jul 2011, 21:49
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Na Hier
Kontaktdaten:

Re: Tutorials

Beitrag von McCry »

Hallo creed steiger,
sorry das ich alles so schlecht beschrieben habe.
creed steiger hat geschrieben: Welche Befehle du meinst ist mir allerdings etwas unklar.
Erster Anlaufpunkt sollte wohl das Wiki sein:
Damit meinte ich z.b., dass alles in Proceduren angegeben wird, oder dass es
keinen richtigen Anfang gibt
(begin
.
.
.
end.)
creed steiger hat geschrieben: Die Videotutorials find ich auch ganz schick:
http://www.schoolfreeware.com/Free_Pasc" onclick="window.open(this.href);return false; ... rials.html
Leider ist auf dieser Seite alles auf Englisch, ich werde mich trotzdem mal ransetzen.

Danke
McCry

Code: Alles auswählen

Signatur[color=#FF0000]:=[/color]McCry
Website[color=#FF0000]:=[/color][color=#0000FF]ritualist.bplaced.net[/color]

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Tutorials

Beitrag von Maik81ftl »

McCry hat geschrieben:Damit meinte ich z.b., dass alles in Proceduren angegeben wird, oder dass es
keinen richtigen Anfang gibt

Code: Alles auswählen

(begin
 .
 .
 .
 end.)
Da muß ich dich mal kurz berichtigen. Wenn du eine Neue Anwendung erstellst und dir mit f12 die Projektfiles anzeigen läst wirst du sehen, das da eine dabei ist. die mind. "projekt1" heist. diese mal bitte anschauen, und schon findest du das, was du bei OOP suchst. Hab selber auch mit TP7.0 angefangen fand aber den umstieg auf Delphi 5.0 Mega einfach.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Tutorials

Beitrag von pluto »

Ich denke das Problem ist etwas anders. Mit Lazarus werden Typischeweise Grafische Oberflächen geschrieben, die unter verschiedenen Betribsystemen laufen. Die Heutigen Betribsysteme sind alle Event gesteuert. Intern wird von "Botschaften" gesprochen.

Wenn du mit der Maus in deine Anwendung Klickst werden verschiedene Events erzeugt. Z.b. ein onMouseDown Event. Auch die heutigen Grafischen Oberflächen fangen Irgendwo an und hören Irgendwo auf.

Es gibt eine Projekt Datei, in der du in der Regel selten zu tun hast. Nur in Ausnahme Fällen. Deine Arbeit wird sich in die Units verlagern. Diese können für Fenster sein. Z.B. Unit1.

Nun kommt es darauf an, was du möchtest. Möchtest du Grafische Oberflächen Entwickeln? Möchtest du Konsolen Anwendungen schreiben? Möchtest du Spiele erstellen? Möchtest du Komponenten oder kleine Tools erstellen? Beschreibmal genauer dein Ziel.
MFG
Michael Springwald

Maik81ftl
Beiträge: 619
Registriert: Mi 9. Mär 2011, 16:34
OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
CPU-Target: 64Bit
Wohnort: seit 01.06.2011 in Wahlstedt

Re: Tutorials

Beitrag von Maik81ftl »

pluto hat geschrieben:Ich denke das Problem ist etwas anders. Mit Lazarus werden Typischeweise Grafische Oberflächen geschrieben, die unter verschiedenen Betribsystemen laufen. Die Heutigen Betribsysteme sind alle Event gesteuert. Intern wird von "Botschaften" gesprochen.

Wenn du mit der Maus in deine Anwendung Klickst werden verschiedene Events erzeugt. Z.b. ein onMouseDown Event. Auch die heutigen Grafischen Oberflächen fangen Irgendwo an und hören Irgendwo auf.

Es gibt eine Projekt Datei, in der du in der Regel selten zu tun hast. Nur in Ausnahme Fällen. Deine Arbeit wird sich in die Units verlagern. Diese können für Fenster sein. Z.B. Unit1.

Nun kommt es darauf an, was du möchtest. Möchtest du Grafische Oberflächen Entwickeln? Möchtest du Konsolen Anwendungen schreiben? Möchtest du Spiele erstellen? Möchtest du Komponenten oder kleine Tools erstellen? Beschreibmal genauer dein Ziel.
Hast zwar recht Pluto, so wie ich Ihn aber vestehe, geht es da in Richtung Konsole. Aber selbst da arbeitet man, so weit ich im Bilde bin mit Proceduren / Fubnctionen.
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D

McCry
Beiträge: 42
Registriert: Mi 20. Jul 2011, 21:49
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Na Hier
Kontaktdaten:

Re: Tutorials

Beitrag von McCry »

Danke an alle aber immoment geht es einfach darum mich son bisschen mit Lazarus
zu beschäftigen.
pluto hat geschrieben: Nun kommt es darauf an, was du möchtest. Möchtest du Grafische Oberflächen Entwickeln? Möchtest du Konsolen Anwendungen schreiben? Möchtest du Spiele erstellen? Möchtest du Komponenten oder kleine Tools erstellen? Beschreibmal genauer dein Ziel.
Zurzeit habe ich vor einfache Rechen-Programme oder kleinere Spiele wie Tic Tac Toe oder Hangman zu programmieren und da, wie schoneinmal erwähnt,
die Anwendungen von Pascal alleine nicht so toll aussehen, habe ich mir gedacht:"Probier ich`s mal mit Lazarus".
Ich habe mich mal im Internet nach Tutorials umgeschaut, bin aber immer auf dieses Forum oder auf die schoolfreeware Seite weitergeleitet
worden.
Deßhalb suche ich jetzt jemandenn, der die Grundkenntnisse gut und einfach erklären kann.


LG McCry

Code: Alles auswählen

Signatur[color=#FF0000]:=[/color]McCry
Website[color=#FF0000]:=[/color][color=#0000FF]ritualist.bplaced.net[/color]

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Tutorials

Beitrag von pluto »

Deßhalb suche ich jetzt jemandenn, der die Grundkenntnisse gut und einfach erklären kann.
Das ist nicht so einfach. Was weißt du bereits? Mach dir mal ein paar Gedanken. Und die kannst du uns dann mitteilen. Dann wissen wir, wo du stehst.

Aber hier mal eine einfache Anleitung für ein "Tic Tac Toe":
01: Am einfachsten wäre es wohl, eine TStringGrid zu nehmen. Du könntest auch ein Button Raster anlegen. Oder du könntest auch eine TPaintBox nutzen und das Gitter selbst verwalten.
Das Gitter sollte klein sein, ich weiß jetzt nicht was üblich ist.

02: Wenn du eine TStringGrid nimmst: Schau dir mal das Event onMouseDown an.

03: Nun wird es Problematisch. Wie war das noch gleich? Es müssen immer drei "Kreuze" oder "Kreise" Horizontal, Vertikal oder Diagonal liegen oder? Erst jetzt hat man gewonnen.

04: Ich würde eine Boolean-Variable nehmen die Entscheidet, ob Spieler 1 oder Spieler 2 am Zug ist. Wenn Spieler 1 am Zug ist, könnte O Hinzugefügt werden. Bei Spieler 2, könnte es X sein.

05: Beim Klicken, muss du jetzt eine Funktion schreiben, die prüft, ob der Spieler gewonnen hat oder nicht. Das Könnte so aussehen:
A) Du könntest z.b. drei Funktion schreiben: Funktion 1: Prüft ob es eine Horizontale, Reihe gibt, Funktion 2 macht das gleiche mit Vertikal.
B) Für Horizontal könnte es so aussehen:
Du fängt bei einer Zeile an(Spalte 1) und gehst bis zur Letzten Spalte in der gleichen Zeile alles durch. Das ist zwar nicht sehr "Schön", aber bei einem kleinen Feld dürfte das kein Problem machen.
C) Bei den anderen Funktionen machst du das gleiche. Durch gehen heißt:
Du nimmst eine Schleife, und eine Byte variable als Zähler(Ein Extra Variable neben der Schleife). Den Zähler stellst du auf 0.
Findest du jetzt z.b. ein O, muss das nächste "Zeichen" ebenfalls ein O sein und das übernächste auch. Wenn das nicht der Fall ist stellt du den Zähler wieder auf 0. Steht der Zähler auf 2 hat der Spieler gewonnen.
Fertig.

Ich hoffe du kannst mir im Groben Folgen. So ähnlich stelle ich es mir vor. Wobei ich das Gitter natürlich selbst Zeichnen würde in einer TPaintBox und ein 2D Array nutzen würde.
Hast zwar recht Pluto, so wie ich Ihn aber vestehe, geht es da in Richtung Konsole. Aber selbst da arbeitet man, so weit ich im Bilde bin mit Proceduren / Fubnctionen.
Nicht immer. Z.B. gibt es für SDL/OpenGL Spiele einfache Klassen Implementationen, die so ähnlich sind wie die LCL. Nur sehr viel kleiner. In diesen Klassen Arbeitest du dann mit "Methoden". Wenn man genau sein möchte.
Aber ich glaube so weit möchte "McCry " wohl nicht gehen am Anfang oder?
MFG
Michael Springwald

McCry
Beiträge: 42
Registriert: Mi 20. Jul 2011, 21:49
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Na Hier
Kontaktdaten:

Re: Tutorials

Beitrag von McCry »

Hi Pluto,
pluto hat geschrieben:Das ist nicht so einfach. Was weißt du bereits? Mach dir mal ein paar Gedanken. Und die kannst du uns dann mitteilen. Dann wissen wir, wo du stehst.
also ich lerne Pascal jetzt seit einem Jahr (8. Klasse).
Die Programme die ich bis jetzt programmiert habe sind hauptsächlich Rechnungsprogramme,
die z.B. den Notendurchschnitt von mehreren Arbeiten ausrechnen,
den fehlenden Winkel eines Dreiecks ausrechnen,
das Volumen und die Gesamtoberfläche eines Würfels ausrechnen,
der Person, die am PC sitzt ein paar Fragen zu stellen(im Anhang),
Hangman,
oder 17 und 4.

Ich hoffe die Beispiele haben dir einen kleinen Einblick in mein Können geboten.

McCry
Dateianhänge
Hallo.exe
(21 KiB) 98-mal heruntergeladen

Linkat
Lazarusforum e. V.
Beiträge: 566
Registriert: So 10. Sep 2006, 23:24
OS, Lazarus, FPC: Linux Mint 22.1; Lazarus 4.0 FPC 3.2.2; RaspiOS
CPU-Target: AMD 64, ARM 64
Wohnort: nr Stuttgart

Re: Tutorials

Beitrag von Linkat »

Hallo McCry,
ich kann dir empfehlen, schau nach alten Delphi-Büchern (bis Delphi 7). Was du hier lernst, kannst du auch für Lazarus anwenden.

Gruß, Linkat.

PS: schau in deine PN
Linux Mint 21.3; Lazarus 3.4 FPC 3.2.2; RaspiOS

McCry
Beiträge: 42
Registriert: Mi 20. Jul 2011, 21:49
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Na Hier
Kontaktdaten:

Re: Tutorials

Beitrag von McCry »

Hi Linkat,
tut mir leid, aber ich habe keine PN bekommen.

McCry

Code: Alles auswählen

Signatur[color=#FF0000]:=[/color]McCry
Website[color=#FF0000]:=[/color][color=#0000FF]ritualist.bplaced.net[/color]

Zuck
Beiträge: 71
Registriert: Fr 22. Jul 2011, 18:30
Wohnort: Los Angeles

Re: Tutorials

Beitrag von Zuck »

Wikibooks hat auch was für dich.

wfg Zuck

McCry
Beiträge: 42
Registriert: Mi 20. Jul 2011, 21:49
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Na Hier
Kontaktdaten:

Re: Tutorials

Beitrag von McCry »

Danke Zuck,
dort scheint ja alles gut erklärt zu sein.
ich werde mich da mal durcharbeiten.

McCry

Code: Alles auswählen

Signatur[color=#FF0000]:=[/color]McCry
Website[color=#FF0000]:=[/color][color=#0000FF]ritualist.bplaced.net[/color]

Antworten