Auf Canvas zeichnen (Ubuntu)

Für Fragen von Einsteigern und Programmieranfängern...
Horn
Beiträge: 8
Registriert: Mi 27. Jan 2010, 20:46

Re: Auf Canvas zeichnen (Ubuntu)

Beitrag von Horn »

Also ich habe es jetzt wieder mit einem TImage versucht und das zeichnen mit einem Button bewerkstelligt.
Ist wird leider nix angezeigt, wie soll das jetzt mit OnPaint funktionieren? Bei Delfi ging das auch immer ohne!
Kann mir jemand sagen wie das OnPaint Ereignis aussehen muss?!

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Auf Canvas zeichnen (Ubuntu)

Beitrag von theo »

Horn hat geschrieben:Also ich habe es jetzt wieder mit einem TImage versucht und das zeichnen mit einem Button bewerkstelligt.
Ist wird leider nix angezeigt, wie soll das jetzt mit OnPaint funktionieren? Bei Delfi ging das auch immer ohne!
Kann mir jemand sagen wie das OnPaint Ereignis aussehen muss?!


Irgendwie kapiere ich nicht wo's bei dir hakt.
Du sagst zwar, dass du "immer" mit Delphi (oder Delfi oder Delphfi) gearbeitet hast, aber könnte es trotzdem sein, dass du nicht die geringste Ahnung von Events und Eventhandlern hast?
Ich frag das nur mal weil ich nicht weiss, wo man bei dir mit erklären anfangen muss.

Horn
Beiträge: 8
Registriert: Mi 27. Jan 2010, 20:46

Re: Auf Canvas zeichnen (Ubuntu)

Beitrag von Horn »

Also ich habe einen Informatik LK in der Stufe 12 auf dem Gymnasium und dort wird halt mit Delfi programmiert.
Nun wollte ich ein Projekt Zuhause fertig machen und da ich Ubuntu nutze musste ich halt auf Lazarus zurückgreifen.

Das Projekt konnte leider nicht konvertiert werden daher habe ich ein neues geschrieben und da wurde beim zeichnen nichts
angezeigt also habe ich versucht ein kleines Programm zu schreiben welches lediglich ein Rechteck "malen" sollte.

Dies funktioniert leider auch nicht, daher mein Thread in diesem Forum. Dieses OnPaint Ereignis habe ich zwar gefunden aber ich
immer wenn ich im Objekt-Inspektor oder auf dem Form ein Objekt doppelt anklicke kommen nur haufenweise Fehlermeldungen
und ich muss alles manuell eintippen.

Da ich dieses OnPaint-Ereignis von Delfi her nicht kenne komme ich damit nicht ganz klar und Google lieferte jetzt auch nichts
für mich verwertbares.

Wie komme ich jetzt zu meinem Rechteck xD?!

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

Re: Auf Canvas zeichnen (Ubuntu)

Beitrag von pluto »

Ganz einfach, Schritt für Schritt:
01) Neues Projekt aufmachen
02) TImage auf From Plazieren
03) Ein Button auf dem From Plazieren.
04) Button Auswählen
05) Im OI(Object Inspektor) ist meistens auf der Linken Seite des Bildschrimes, unter Ereignisse(engl. Events) onClick Auswählen, doppelt drauf klicken, du solltest ohne Fehler Meldung im Code-Editor landen
06) Im Code-Editor schreibst du folgendes:
Image1.Canvas.Pen.Color := clRed;
Image1.Canvas.Brush.Color := clBlack;
Image1.Canvas.Rectangle(10,10,20,20);

Fertig. Du solltest jetzt ein Schwarzes Viereck was rot umrundet ist sehen, vorraus gesetzt, das TImage ist mind. 30 mal 30 Pixel Groß.
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Auf Canvas zeichnen (Ubuntu)

Beitrag von theo »

Horn hat geschrieben:immer wenn ich im Objekt-Inspektor oder auf dem Form ein Objekt doppelt anklicke kommen nur haufenweise Fehlermeldungen


Das ist natürlich schlecht.
Wie heissen den die Fehlermeldungen?

Häng doch mal dein Projekt ohne exe und so gezipped hier rein, also z.B.

project1.lpi
project1.lpr
unit.pas
unit1.lfm

Horn
Beiträge: 8
Registriert: Mi 27. Jan 2010, 20:46

Re: Auf Canvas zeichnen (Ubuntu)

Beitrag von Horn »

Als erstes kommt schon beim starten von Lazarus folgende Meldung:
Bild

Und wenn ich dann den Button anklicke bzw. das OnClick Ereignis kommt folgendes:
Bild

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

Re: Auf Canvas zeichnen (Ubuntu)

Beitrag von pluto »

Du musst unter Einstellungen den Pfad zu den FPC Sorucen angeben. Z.B. könnte er unter /usr/share/fpcsrc sein.
Sonst suche mal nach fpcsrc.

Zum testen könntest du mal die Kompiliere Anweisungen Löschen.
MFG
Michael Springwald

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: Auf Canvas zeichnen (Ubuntu)

Beitrag von Euklid »

Hallo Horn,

die markierte Zeile kannst Du entfernen - sie wird für normale Windows- und Linux-Anwendungen nicht benötigt.

Darf ich fragen, welche Version von Lazarus Du verwendest?
Ich verwende ebenfalls Ubuntu 64bit. Lazarus funktioniert bei mir einwandfrei, wenn ich die aktuelle Beta herunterlade und mit dem Paketmanager installiere:
http://sourceforge.net/projects/lazarus/files/

Bitte nicht die Ubuntu-eigene Version von Lazarus verwenden (also jene, die sich im Repository von Ubuntu befindet), habe damit nur schlechte Erfahrungen gemacht (u.a. auch einmal ein Pfadfehler).

Ich hoffe, das hilft Dir weiter.

Viele Grüße, Euklid

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Auf Canvas zeichnen (Ubuntu)

Beitrag von Hitman »

Euklid hat geschrieben:die markierte Zeile kannst Du entfernen - sie wird für normale Windows- und Linux-Anwendungen nicht benötigt.

Ach ja? Da steht "if not defined WinCE" .... also sie wird gerade für normale Windows und Linux Anwendungen benötigt. Zum Spaß steht die bestimmt nicht drin.

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Auf Canvas zeichnen (Ubuntu)

Beitrag von Targion »

Du kannst ja mal meine Paketquellen aktivieren, dann hast du sofort eine aktuelle Lazarus-Version:

Code: Alles auswählen

sudo add-apt-repository ppa:ximion/ppa

(Funktioniert nur Unter Ubuntu Karmic oder höher)

Aber Achtung: Achte in Zukunft genau drauf, was dein Update-Manager macht! Manchmal kommt auch ein wenig experimentelle Software in das PPA.

Antworten