Enthält das Editfeld buchstaben oder Zahlen???
-
- Beiträge: 25
- Registriert: Mo 7. Apr 2014, 20:55
Enthält das Editfeld buchstaben oder Zahlen???
Hi Leute
da die suchfunktion mir kein passendes ergebnis gebracht hat frage ich nun selber
ich bin dabei ein programm zum erstellen von verzeichnissen zu schreiben.
normalerweise wird der name des verzeichnisses in einem edit-feld angegeben, aber nun möchte ich das programm mit einem Memo zu erweitern.
dieses Memo wird bereits in einem .txt dokument gespeichert um es immer auf dem neuesten stand zu halten.
wenn nun eine zahl (zwischen 1 und 20) in das editfeld eingegeben wird,soll das verzeichniss den Namen haben, der im memo in der entsprechnden zeile gespeichert ist.
wie frage ich nun, ob das editfeld eine zahl oder ein str enthält??
und gibt es auch eine funktion die es schafft einen ordner zu erstellen auch wenn dieser dann z.b. test12 heißt, ohne das die zahl 12 durch den str aus dem memo erstetzt wird??
Danke schon mal
da die suchfunktion mir kein passendes ergebnis gebracht hat frage ich nun selber
ich bin dabei ein programm zum erstellen von verzeichnissen zu schreiben.
normalerweise wird der name des verzeichnisses in einem edit-feld angegeben, aber nun möchte ich das programm mit einem Memo zu erweitern.
dieses Memo wird bereits in einem .txt dokument gespeichert um es immer auf dem neuesten stand zu halten.
wenn nun eine zahl (zwischen 1 und 20) in das editfeld eingegeben wird,soll das verzeichniss den Namen haben, der im memo in der entsprechnden zeile gespeichert ist.
wie frage ich nun, ob das editfeld eine zahl oder ein str enthält??
und gibt es auch eine funktion die es schafft einen ordner zu erstellen auch wenn dieser dann z.b. test12 heißt, ohne das die zahl 12 durch den str aus dem memo erstetzt wird??
Danke schon mal
Re: Enthält das Editfeld buchstaben oder Zahlen???
Könntest auch sowas wiemachen?!
Code: Alles auswählen
var
i: Integer;
begin
if TryStrToInt(Edit1.Text, i) then // Testen, ob Edit1 eine Ganzzahl enthält
if (i <= Memo1.Lines.Count) and (i > 0) then // Schauen, ob diese Zahl einer Memo-Zeile entspricht
ShowMessage('Memozeile gewählt: '+Memo1.Lines[i - 1])
else
ShowMessage('Ungültige Memozeile!')
else
ShowMessage('Keine Ganzzahl: '+Edit1.Text);
end;
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Enthält das Editfeld buchstaben oder Zahlen???
Nichts als eine Zahl oder unter anderem eine Zahl ?Tanketorion hat geschrieben:wie frage ich nun, ob das editfeld eine zahl ... enthält??
Was für eine Zahl ? (Ganzzahl, Dezimal-Bruch mit Punkt und/oder Komma, Hex-Zahl mit "0x" oder "$", Oktalzahl, Binärzahl, Bruch wie "1 1/3", komplexe Zahl, Römische Zahl, ... ist "pi" eine Zahl ? )
-Michael
Re: Enthält das Editfeld buchstaben oder Zahlen???
...ja, und gibt es überhaupt Zahlen?!mschnell hat geschrieben:... ist "pi" eine Zahl ?

Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 25
- Registriert: Mo 7. Apr 2014, 20:55
Re: Enthält das Editfeld buchstaben oder Zahlen???
Bisher schon mal danke für eure antworten
ich kann heute leider nicht versuchen ob es funktioniert, aber das werde ich in den nächsten tage machen...
zur frage von mschnell:
es handelt sich um eine ganzzahl die gesucht ist und diese zahl soll nur durch den eintrag aus der entsprechenden memozeile ersetzt werden, wenn davor oder dahinter kein text steht
also
15 ->Memozeile 15(-1) in das editfeld übertragen
Hallo15 Kein Übertrag
15Hallo Kein Übertrag
ich kann heute leider nicht versuchen ob es funktioniert, aber das werde ich in den nächsten tage machen...
zur frage von mschnell:
es handelt sich um eine ganzzahl die gesucht ist und diese zahl soll nur durch den eintrag aus der entsprechenden memozeile ersetzt werden, wenn davor oder dahinter kein text steht
also
15 ->Memozeile 15(-1) in das editfeld übertragen
Hallo15 Kein Übertrag
15Hallo Kein Übertrag
-
- Beiträge: 725
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Enthält das Editfeld buchstaben oder Zahlen???
Wenn du denkst dass eine Zahl nicht vorkommen kann, dann kannst du einfach das verwenden:
Wenn du alle Zahlen verwenden willst , dann kannst du das verwenden:
Code: Alles auswählen
var i:integer;
begin
i:=StrToIntDef( EditXYZ.Text, -2014); // Hier ist -2014 die Zahl, die Text nicht vorkommen darf, sonst wird diese Zahl übergangen.
if i<>-2014 then MemoXYZ.Lines.Add( 'Hallo'+ EditXYZ.Text );
end;
Code: Alles auswählen
function IstEsZahl(AText:string):Boolean;
begin
Result:=true;
try
StrToInt(AText);
except
Result:=false;
end;
end;
var i:integer;
begin
if IstEsZahl(EditXYZ.Text) then MemoXYZ.Lines.Add( 'Hallo'+ EditXYZ.Text );
end;