Bilderliste - Lazarus

Für Fragen von Einsteigern und Programmieranfängern...
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: Bilderliste - Lazarus

Beitrag von pluto »

Neue Version: Damit passt sich der Inhalt der ScrollBox Automatisch an die Größe der Scrollbox an.

Edit01: Nachher gibt es noch eine weitere Version, aber da brauche ich noch eine Info von dir: möchtest du jedes mal ein neues Fenster erstellt habe, bei einem Klick auf eine Grafik oder reicht ein Fenster?
Dateianhänge
bilderliste2.zip
(282.27 KiB) 71-mal heruntergeladen
MFG
Michael Springwald

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: Bilderliste - Lazarus

Beitrag von pluto »

Das eigentliche Problem, da weiß ich keine genaue Lösung: Du möchtest ja eine Bilder-Vorschau haben und wenn man dann auf ein kleines Bild klickt, soll es komplett angezeigt werden. Wenn ich es richtig in Erinnerung habe beinhaltet Theos Programm eine von ihm entwickelte Komponente. D.H. du brauchst nur das zu verwenden, was du haben möchtest.

Ich habe bereits eine dritte Version erstellt, aber noch nicht hoch geladen. Bei mir wird nun ein Fenster geöffnet, wenn ich eine Grafik Anklicke. Aber das müsste ich noch ausbauen.

Zugegeben: Das Programm wird Probleme haben mit größeren Datenmengen. Es ist nicht gerade Speicher Optimiert. Aber ich denke für deinen Fall, dürfte es als Lern Projekt ausreichen oder?

Ich muss auch zu zugegeben: Auf den meisten Seiten zum Thema Programmieren, wird in der Regel nur die Syntax Vorgestellt und die IDE, aber kaum Sinnvolle Beispiele aus der Praxis gezeigt. Z.B. Taschenrechner, Notzienverwalter, kleine Spiele wie Snkae und Co... Vielleicht wäre das noch eine Lücke, die gefüllt werden sollte. Wenn es Interesse dazu gibt, werde ich mal ein neuen Thread zum Thema aufmachen: "Kleine Beispiel Projekte für Anfänger".
MFG
Michael Springwald

Have a nice Day
Beiträge: 59
Registriert: Fr 2. Nov 2012, 19:44

Re: Bilderliste - Lazarus

Beitrag von Have a nice Day »

Du möchtest ja eine Bilder-Vorschau haben und wenn man dann auf ein kleines Bild klickt, soll es komplett angezeigt werden.
Ich habe vor wenn ich das Programm fertig bekomme sollte, das wenn man auf ein Bild klick auf eine Seite geleitet wird (also Scollbox ausblenden und neue Komponenten einblenden) [so mache ich das zu mindestens].

Ahh.. und hier ist noch eine offene Frage:
Kann man ein Programm schreiben in dem man beim Starten Änderung vornehmen kann und diese beim nächsten Start bleiben?

Also mein Programm ist ein Guide für ein Spiel.
Ich wollte etwas Programmieren was dann vielleicht auch ein Sinn hat.
Und in dem Spiel gibt es verschiedene Champions, für die man in den Runden die man da spielt, besser verschiedene Items kauft.
Also sollen in meiner Scrollbox die Icons der Champs sein und wenn man auf die Icons klickt dann soll der zu dem passende Guide (also welche Items man wann kauft, sind dann einfach Bilder aneinander gereiht) kommen.
Wenn ich das so alles hinbekommen habe, will ich eventuell noch ein bearbeiten der Guides kommen oder zum erstellen von neuen Champs in meiner Scrollbox.

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: Bilderliste - Lazarus

Beitrag von pluto »

Ahh.. und hier ist noch eine offene Frage:
Kann man ein Programm schreiben in dem man beim Starten Änderung vornehmen kann und diese beim nächsten Start bleiben?
was für Änderungen? Am Bild?
Ich habe vor wenn ich das Programm fertig bekomme sollte, das wenn man auf ein Bild klick auf eine Seite geleitet wird (also Scollbox ausblenden und neue Komponenten einblenden) [so mache ich das zu mindestens].
Bei mir wird ein neues Fenster geöffnet... Wie groß sind die Bilder?
MFG
Michael Springwald

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: Bilderliste - Lazarus

Beitrag von pluto »

Hier die Bilder Liste Version 3.

Neu ist: Bei Klicken auf eine Grafik, wird ein Fenster geöffnet. Dort ist das Image in einer ScrollBox drin. Beides reagiert darauf, wenn du das Fenster Vergrößert oder verkleinerst.
Dateianhänge
bilderliste3.zip
(128.61 KiB) 83-mal heruntergeladen
MFG
Michael Springwald

Have a nice Day
Beiträge: 59
Registriert: Fr 2. Nov 2012, 19:44

Re: Bilderliste - Lazarus

Beitrag von Have a nice Day »

Ich habe nun dein Programm (2te Version) runtergeladen und ausprobiert.
Und das funktioniert klasse. :)
Eine Frage habe ich aber zu dem Programm:
Unter den Bildern steht immer Bildname.jpp oder .png kann man den Datentype wegbekommen?
Und kann man die Schrift unter den Bildern zentieren?
Ich muss auch zu zugegeben: Auf den meisten Seiten zum Thema Programmieren, wird in der Regel nur die Syntax Vorgestellt und die IDE, aber kaum Sinnvolle Beispiele aus der Praxis gezeigt. Z.B. Taschenrechner, Notzienverwalter, kleine Spiele wie Snkae und Co... Vielleicht wäre das noch eine Lücke, die gefüllt werden sollte. Wenn es Interesse dazu gibt, werde ich mal ein neuen Thread zum Thema aufmachen: "Kleine Beispiel Projekte für Anfänger".
Ach ja... Hierzu wollte ich mich noch äußern.
Ich finde deine Idee großartig. Anfänger wie ich haben es im Internet nicht leicht.
Es gibt nur wenige Seiten auf den nicht alles in komplizierter Syntax steht.

Hinweiß dazu: Wähle den Threadnamen so das man ihn beim suchen bei Google gut findet.
Also baue Wörter ein wie: Lazarus, Änfänger, Hilfe.

Wo es meiner Meinung nach auch eine Lücke gibt ist:
Ein Thread indem die Grundsyntax in "normaler" und leichter Sprache erklärt wird.
Das habe ich in meinem Informatik LK gemerkt, dass er da Nachfrage gibt.
Viele kennen einfach die Syntax nicht und wissen z.B. nicht wie man for i:= 1 to 10 do macht.
Wir haben unseren Informatik LK nämlich in unserer Partnerschule und die benutzt Lazarus.
Die Leute die da schon vorher hatten haben immer schon mit Delphi/Lazarus gearbeitet und so ist es für uns schwerer.
Unsere Schule hat immer Python benutzt.

Ich könnte deinen Thread (wenn du das machen willst) dann auch public machen :D

Have a nice Day
Beiträge: 59
Registriert: Fr 2. Nov 2012, 19:44

Re: Bilderliste - Lazarus

Beitrag von Have a nice Day »

pluto hat geschrieben:
Ahh.. und hier ist noch eine offene Frage:
Kann man ein Programm schreiben in dem man beim Starten Änderung vornehmen kann und diese beim nächsten Start bleiben?
was für Änderungen? Am Bild?
Das Programm soll so werden, das wenn man auf die Championbilder (Scrollbox) klickt, dass dann der Guide öffnet.
Der Guide ist eine Aneinanderreihung von Bildern.
Guide
Guide
Die länge der Aneinanderreihung solle aber am besten varieren können.
Im Prinzip nur ne neue Scrollbox.
pluto hat geschrieben:
Ich habe vor wenn ich das Programm fertig bekomme sollte, das wenn man auf ein Bild klick auf eine Seite geleitet wird (also Scollbox ausblenden und neue Komponenten einblenden) [so mache ich das zu mindestens].
Bei mir wird ein neues Fenster geöffnet... Wie groß sind die Bilder?
Größe der Bilder: 80x80 Pixel

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: Bilderliste - Lazarus

Beitrag von pluto »

Code: Alles auswählen

Unter den Bildern steht immer Bildname.jpp oder .png kann man den Datentype wegbekommen?
ja. Einfach an der Passendenstelle: ExtractFileExt hinzufügen. Also da wo das Label einen Text bekommt.

Code: Alles auswählen

Und kann man die Schrift unter den Bildern zentieren?
Auch das geht. Ist aber nicht so einfach... Schau mal hier:
http://www.delphipraxis.net/2634-text-a ... chten.html
Da findest du diesen Code: "canvas.TextOut(round((form1.ClientWidth - canvas.TextWidth('ZENTRIERT')) / 2),200,'ZENTRIERT');" unter anderem.
Versuch es mal so umzuschreiben, dass es in deinen Fall auch klappt.

Beim Programmieren ist es wichtig, alle Quellen nutzen zu können, auch wenn es nicht direkt für dein Problem/Aufgabe gemacht wurde, wie in diesen F all.
Aber du kannst es ja anpassen.
Ich könnte deinen Thread (wenn du das machen willst) dann auch public machen :D
Klar. Erst mal geht es darum, Ideen zu finden. Nicht jedes Projekt ist dafür geeignet. Dann mache ich gleich mal ein Thread dazu auf.
Das Programm soll so werden, das wenn man auf die Championbilder (Scrollbox) klickt, dass dann der Guide öffnet.
Der Guide ist eine Aneinanderreihung von Bildern.
Ich weiß noch nicht genau was du meinst.
Größe der Bilder: 80x80 Pixel
Gut, dann sollte es keine Probleme geben.
MFG
Michael Springwald

Have a nice Day
Beiträge: 59
Registriert: Fr 2. Nov 2012, 19:44

Re: Bilderliste - Lazarus

Beitrag von Have a nice Day »

Ich versuche grade deine Sachen in mein Projekt einzubauen, aber ich hab da ein Problem.
Wie machst du es das z.B. die FileBox sich immer an den linken Rand setzt?
Ich würde die gerne wo anders hinmachen.

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: Bilderliste - Lazarus

Beitrag von pluto »

Es gibt eine Eigenschaft: Align. Die steht auf alLeft. Kannst auf alNone setzten oder auf ein anderen Wert.

Ich finde Theo's Projekt gar nicht mal so schlecht... ich spiele damit gerade etwas.
MFG
Michael Springwald

Have a nice Day
Beiträge: 59
Registriert: Fr 2. Nov 2012, 19:44

Re: Bilderliste - Lazarus

Beitrag von Have a nice Day »

Das Projekt sah auch sehr gut aus, aber ich habe das Problem, das mich der riesen Haufen an Syntax ein wenig erschlägt.

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: Bilderliste - Lazarus

Beitrag von pluto »

Das Projekt sah auch sehr gut aus, aber ich habe das Problem, das mich der riesen Haufen an Syntax ein wenig erschlägt.
War auch mein Problem. Aber die Verwendung ist wirklich einfach. Du musst nur ein Verzeichnis angeben. Fertig.
MFG
Michael Springwald

Have a nice Day
Beiträge: 59
Registriert: Fr 2. Nov 2012, 19:44

Re: Bilderliste - Lazarus

Beitrag von Have a nice Day »

Ich habe nochmal eine Frage zu den Methoden.
Ich habe folgende Methode geschrieben:

Code: Alles auswählen

procedure TFrom1.VisibleFalse(Sender: TObject);
begin
  Scrollbox1.Visible := False;
  Scrollbox2.Visible := False;
  3v3Map.Visible := False;
end;
wie kann ich diese Methode nun ausführen.

Ich kenne das nur aus Python.
Da hat man eine Funktion immer mit Def Funktion(): gemacht.
Diese konnte man dann mit Funktion() aufrufen

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: Bilderliste - Lazarus

Beitrag von pluto »

In Pascal geht es so:
Wenn du in der gleichen Klasse bist, einfach so:
VisibleFalse(...);
Problem ist der Parameter. In der Regel kannst du self schreiben, aber nicht immer.
Dann schreibst du einfach Form1.
MFG
Michael Springwald

Have a nice Day
Beiträge: 59
Registriert: Fr 2. Nov 2012, 19:44

Re: Bilderliste - Lazarus

Beitrag von Have a nice Day »

Habe ich das richtig verstanden?

Die Funktion heißt dann:

Code: Alles auswählen

procedure TFrom1.VisibleFalse(...);
begin
  ScrollBox1.Visible := False;
  ScrollBox2.Visible := False;
  Map3v3.Visible := False;
end;
und um diese auszuführen
In gleicher Klasse

Code: Alles auswählen

VisibleFalse(self)
In andere Klasse

Code: Alles auswählen

VisibleFalse(Form1)
Bei mir sind da nämlich 3 Fehler

unit1.pas(123,18)Error Identifier not found "TFrom1"
unit1.pas(123,30)Error class identifier expected
unit1.pas(123,30)Fatal:Syntax error, ";" expected but "[" found

Antworten