Tutorial Arduino programmieren,

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
sstvmaster
Beiträge: 340
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: OS: Windows 10 | Lazarus: 2.0.8 + Fixes + Trunk 32bit
CPU-Target: 32Bit
Wohnort: Dresden

Re: Tutorial Arduino programmieren,

Beitrag von sstvmaster »

OK, das Fenster "ProjectOptionsForm" wandert auch jedes mal ein Stück runter und nach rechts wenn man Projekt -> Neues Projekt -> AVR Projekt wählt .
LG Maik

Mathias
Beiträge: 4862
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Ich habe Position auf poDefault, was soll ich am besten nehmen ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

sstvmaster
Beiträge: 340
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: OS: Windows 10 | Lazarus: 2.0.8 + Fixes + Trunk 32bit
CPU-Target: 32Bit
Wohnort: Dresden

Re: Tutorial Arduino programmieren,

Beitrag von sstvmaster »

Screen Center wäre ok.

Ich habe aber mal eine dumme Frage: Warum lädst du ein Form in ein Form (avr_project_options_frame in avr_project_options_form)?

Kannst du mir das bitte erklären? Für mich unlogisch. Das ist für mich wie einen Monitor in einen Monitor einbauen.
LG Maik

Mathias
Beiträge: 4862
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Jetzt sollte der Dialog gut sein, ich habe in optisch noch angepasst.

Ich habe aber mal eine dumme Frage: Warum lädst du ein Form in ein Form (avr_project_options_frame in avr_project_options_form)?
So dumm ist die Frage nicht, da der Dialog ursprünglich in "Project --> Projecteinstellungen" rein sollte und dort wird zwingen ein Frame verlangt. Wen du den Kopf der Frame-Deklaration anguckst, sieht man auch, das es kein normales Frame ist.

In AVR_Register ist noch folgende Zeile vorhanden.

Code: Alles auswählen

RegisterIDEOptionsEditor(GroupProject, TAVR_Project_Options_Frame, AVROptionsIndex);


Aber du hast recht, das Frame scheint unnötig zu werden.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4147
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Tutorial Arduino programmieren,

Beitrag von af0815 »

sstvmaster hat geschrieben:Screen Center wäre ok.

Achtung -> ScreenCenter bedeutet bei Multimonitoren, das das Fenster zwischen den Monitoren aufgeteilt wird = bei 2 Monitoren je zur hälft auf dem einen und dem anderen Monitor ist :shock: Daher weil der Screen ganz einfach über beide Monitore geht.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Timm Thaler
Beiträge: 1045
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Tutorial Arduino programmieren,

Beitrag von Timm Thaler »

af0815 hat geschrieben:
sstvmaster hat geschrieben:Screen Center wäre ok.

Achtung -> ScreenCenter bedeutet bei Multimonitoren, das das Fenster zwischen den Monitoren aufgeteilt wird...


Oh ja, sowas hasse ich. Oder wenn man wie bei LibreOffice das Hauptfenster auf einem Monitor hat und die Dialoge auf dem anderen aufgehen...

Unter PureBasic gab es sowas wie WindowCentered, da erschien der Dialog in der Mitte des Hauptfensters auf dem gleichen Monitor des Hauptfensters. Gibts das bei FreePascal auch?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4147
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Tutorial Arduino programmieren,

Beitrag von af0815 »

poMainformCenter, poOwnerFormCenter oder poWorkAreaCenter ?!
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

sstvmaster
Beiträge: 340
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: OS: Windows 10 | Lazarus: 2.0.8 + Fixes + Trunk 32bit
CPU-Target: 32Bit
Wohnort: Dresden

Re: Tutorial Arduino programmieren,

Beitrag von sstvmaster »

@af0815 ich meite eigentlich die mitte des Monitors.

Habe mal test programm geschrieben, da ich hier auf Arbeit 2 Monitore habe. Bei ScreenCenter ist das Form aber in der mitte des linken Bildschirms und bei DesktopCenter in der mitte beider Bildschirmteile.
Dateianhänge
Center_Window.zip
(126.09 KiB) 21-mal heruntergeladen
LG Maik

Mathias
Beiträge: 4862
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Ich denke, ich werde es andwrs lösen. Was hindert mich daran, die Grösse und Pos. zur Laufzeit aud die Platte zu speichern. Die anderen Forms in der IDE merken sich diese auch.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4147
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Tutorial Arduino programmieren,

Beitrag von af0815 »

Mathias hat geschrieben:Ich denke, ich werde es andwrs lösen. Was hindert mich daran, die Grösse und Pos. zur Laufzeit aud die Platte zu speichern. Die anderen Forms in der IDE merken sich diese auch.

Dann musst du aber auch berücksichtigen falls der Benutzer den 2 ten Monitor plötzlich nicht verwendet. Ich habe hier mit einigen Programmen Probleme wenn ich den Laptop aus dem Dock nehme und die Fenster plötzlich auf einen nicht mehr existierenden Monitor wollen. Da habe ich mich schon geärgert. Das sind dann unbenutzbare Programme, wo man im schlechteststn Fall suchen muss wo diese %$&$&/% Konfig steht, wo das gespeichert ist.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Timm Thaler
Beiträge: 1045
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Tutorial Arduino programmieren,

Beitrag von Timm Thaler »

Mathias hat geschrieben:Was hindert mich daran, die Grösse und Pos. zur Laufzeit aud die Platte zu speichern. Die anderen Forms in der IDE merken sich diese auch.


Ich finde, Dialogfenster sollten sich immer auf dem Screen des Hauptfensters öffnen, egal wo sie vorher geöffnet waren. Aber anscheinend stehe ich mit dieser Meinung ziemlich alleine da, wenn ich mir das Verhalten vieler Programme anschaue.

Ich habe einige Installationen, wo verschiedene Beamer angesteuert werden. Teilweise auch mit verzerrten Screens oder Screens, von denen nur ein Teil zu sehen ist. Und da nervt es ungemein, wenn der Einstellungsdialog plötzlich auf einem ausgeschalteten Beamer oder in der nicht sichtbaren Ecke eines Screens klebt und man sich die erst mühsam rüberziehen muss, bei einigen Tool-Windows ist es gar nicht möglich.

Und selbst am normalen Zweibildschirm-Desktop nervt es, wenn der Dialog in LibreOffice erstmal auf dem anderen Bildschirm kommt und man den unter anderen Fenstern vorwühlen muss. Da frag ich mich immer: Testen die Entwickler ihre Programme eigentlich auch mal selber?

Mathias
Beiträge: 4862
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Das Dialog-Problem ist nun auch gelöst, er wird einfach an der letzten Position gespeichert.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

sstvmaster
Beiträge: 340
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: OS: Windows 10 | Lazarus: 2.0.8 + Fixes + Trunk 32bit
CPU-Target: 32Bit
Wohnort: Dresden

Re: Tutorial Arduino programmieren,

Beitrag von sstvmaster »

Habe mal 2 Patches gemacht, kannst du die Änderungen unter Linux mal testen?
Dateianhänge
avr_project_options_frame.patch
(771 Bytes) 22-mal heruntergeladen
avr_common.patch
(554 Bytes) 23-mal heruntergeladen
LG Maik

Mathias
Beiträge: 4862
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunc)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Wieso so kompliziert ?

Code: Alles auswählen

function AVRSerialBaudRates: string;
var
  v: TStringList;
begin
  v := TStringList.Create;
  v.AddStrings(['300','600','1200','2400','4800','9600','14400','19200','28800','31250','38400','57600','115200']);
  Result := v.CommaText;
  v.Free;
end;

Eine Konstante sollte genügen.

Code: Alles auswählen

const
 AVRSerialBaudRates :=   '300,600,.....,115200';
 


Der erste Patch mit dem CommaText ist gut.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot

sstvmaster
Beiträge: 340
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: OS: Windows 10 | Lazarus: 2.0.8 + Fixes + Trunk 32bit
CPU-Target: 32Bit
Wohnort: Dresden

Re: Tutorial Arduino programmieren,

Beitrag von sstvmaster »

oder so! LG Maik
LG Maik

Antworten