TEdit - Numbers only kein Effekt unter Linux

Re: TEdit - Numbers only kein Effekt unter Linux

Beitragvon Mathias » 11. Nov 2016, 20:20 Re: TEdit - Numbers only kein Effekt unter Linux

Dein Problem liegt an StrToInt, wen man dort keine Zahlen mitgibt.

Aber dies kann man abfangen, gucke dazu mal diesen Link an.

http://www.freepascal.org/docs-html/rtl ... toint.html

Noch eine Demo dazu:
Code: Alles auswählen
procedure TForm1.Edit1Change(Sender: TObject);
begin
  Edit1.Color:=clWhite;
  try
    StrToInt(Edit1.Text);
  except
    Edit1.Color:=$4444FF;
  end;
end;     
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3976
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon m.fuchs » 11. Nov 2016, 22:24 Re: TEdit - Numbers only kein Effekt unter Linux

knight hat geschrieben:Bei mir funktioniert es unter Linux wie erwartet (Revision 53343)

GTK oder QT? Und welche Version?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
m.fuchs
 
Beiträge: 1946
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (L 1.8.4, FPC 3.0.4) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon Marc » 12. Nov 2016, 02:33 Re: TEdit - Numbers only kein Effekt unter Linux

Hallo Mathias, Das habe ich jetzt mal versucht. Ist ein echter Killer geworden. Habe damit sogar das Cinnamon in den Rückfallmodus geschickt. Habe Dich wohl falsch verstanden.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Good code comes from experience, experience comes from bad code.
Marc
 
Beiträge: 175
Registriert: 11. Nov 2016, 14:09
Wohnort: Schweiz
OS, Lazarus, FPC: Linux Mint 18 (WinXP VBox) | 
CPU-Target: 64Bit
Nach oben

Beitragvon kralle » 12. Nov 2016, 10:27 Re: TEdit - Numbers only kein Effekt unter Linux

Moin Marc,

warum nutzt Du nicht in Deinem Quellcode nicht das "KeyPress"-Ereignis der "TEdit"-Komponente:
Code: Alles auswählen
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
begin
     if not (Key in ['0'..'9', '.', ',','-']) then  // Nur die Zahlen 0-9, Punkt, Komma und Minus sind erlaubt
    Key := #0;
end
 

Dann kannst Du selber entscheiden, ob Du außer den Zahlen vielleicht aich noch ein 'Minus', einen 'Dezimalpunkt' oder ein 'Komma' erlauben willst.
Wenn Du "NumbersOnly" nutzt, kannst Du nur Positive Integerzahlen eingeben.

Gruß Heiko
Linux Mint 19 und Lazarus 1.8.4 (FPC-Version: 3.0.4)
Windows 8.1 Pro Lazarus 1.8.2 + Delphi XE7SP1
kralle
 
Beiträge: 515
Registriert: 17. Mär 2010, 14:50
Wohnort: Bremerhaven
OS, Lazarus, FPC: Linux Mint 18.3 - Lazarus 1.9 - FPC 3.0.4 -Win8.1 & XE7Pro | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 12. Nov 2016, 10:41 Re: TEdit - Numbers only kein Effekt unter Linux

Marc hat geschrieben:Ich versuche das mal hochzuladen....[unit1.pas]

Um deinen Code testen zu können, ist eine pas-Datei zu wenig. Ein vollständiges minimales Lazarus-Projekt besteht aus einer lpi, lpr-Datei und mindestens einer pas und lfm-Datei. Packe diese in ein gemeinsames zip-File, damit das von der Forum-Software akzeptiert wird.

Übrigens, hast du schon mal probiert, irgendeines der Beispiele zu kompilieren und zu starten, die mit Lazarus mitgeliefert werden? Wenn auch dies nicht funktioniert, hast du einen Fehler bei der Installation gemacht.
Zuletzt geändert von wp_xyz am 12. Nov 2016, 13:13, insgesamt 1-mal geändert.
wp_xyz
 
Beiträge: 2529
Registriert: 8. Apr 2011, 08:01

Beitragvon Mathias » 12. Nov 2016, 13:04 Re: TEdit - Numbers only kein Effekt unter Linux

Eigentlich muesste schon ein neues Project genuegen.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3976
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Marc » 12. Nov 2016, 13:27 Re: TEdit - Numbers only kein Effekt unter Linux

Hallo Kralle. Dein Vorschlag ist sehr interessant. Sowas hatte ich früher schon mit Turbo Pascal. Gerade wenn man auch mal Hex Zahlen eingeben möchte. Muss ich ausprobieren.
Aber eben, wie m.fuchs schreibt ist das was ich verwenden möchte in Linux wohl einfach nicht implementiert. Vergessen worden, oder was auch immer. Wäre einfach schön wenn ein Code der unter Windows geht, auch in Linux funktionieren würde. Zumal es sich ja um einfachste Beispiele handelt. Kommt Zeit kommt Rat. Ich mach jetzt einfach mal mit Windows weiter (VBox).
Good code comes from experience, experience comes from bad code.
Marc
 
Beiträge: 175
Registriert: 11. Nov 2016, 14:09
Wohnort: Schweiz
OS, Lazarus, FPC: Linux Mint 18 (WinXP VBox) | 
CPU-Target: 64Bit
Nach oben

Beitragvon pluto » 28. Nov 2016, 18:21 Re: TEdit - Numbers only kein Effekt unter Linux

Aber eben, wie m.fuchs schreibt ist das was ich verwenden möchte in Linux wohl einfach nicht implementiert. Vergessen worden, oder was auch immer. Wäre einfach schön wenn ein Code der unter Windows geht, auch in Linux funktionieren würde

Das geht leider nicht immer. In diesen Fall würde es vielleicht gehen, aber es gibt halt zu viele Unterschiede zwischen den einzelnen Plattformen.

Lazarus verwenden ja "einfach" nur das was vorhanden ist und fügt ja keine neuen Funktion ein. Es soll sich ja so anfühlen wie unter der Jeweiligen Plattform.

Ich gebe dir aber in einem Punkt recht: Für Anfänger ist Lazarus bzw. fpc nicht gerade einfach, auch wenn viele anders meinen.
Man muss sich schon damit befassen und suchen können um an das Ziel zu kommen.
Außerdem braucht man Geduldet und Zeit.
MFG
Michael Springwald
Aktuelles Projekt: PlutoArduino
pluto
 
Beiträge: 6534
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg/Oldenburg
OS, Lazarus, FPC: Linux Mint 18.1 | 
CPU-Target: AMD
Nach oben

Beitragvon Mathias » 28. Nov 2016, 18:28 Re: TEdit - Numbers only kein Effekt unter Linux

Das geht leider nicht immer. In diesen Fall würde es vielleicht gehen, aber es gibt halt zu viele Unterschiede zwischen den einzelnen Plattformen.

Ein guter Tip da zu, niemals die Unit Windows verwenden, die bindet einem sofort an Windows. Da selbe mit baseUnix unter Linux.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 3976
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 28. Nov 2016, 18:29 Re: TEdit - Numbers only kein Effekt unter Linux

Du solltest ein komplettes Projekt hochladen, mit einer Unit allein kann man nichts debuggen. pas, lfm, lpi und lpr Dateien in einem gemeinsamen zip verpacken, die vom Compiler generierten Dateien (exe, res, ppu, compiled etc) weglassen.
wp_xyz
 
Beiträge: 2529
Registriert: 8. Apr 2011, 08:01

• Themenende •
Vorherige

Zurück zu Linux



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried