Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - IntToStr = false???
Maisinator - Sa 11.07.09 16:11
Titel: IntToStr = false???
hi,
ich hab heute eine procedur erstellt, die mittels ID und username ermittelt, ob man berechtigt ist, das prog zu verwenden. id und username werden in einer textdatei gespeichert und bei jedem start überprüft. jetzt stellt sich mir die frage, was ich in mein programm schreiben muss, damit es überprüft, ob die id eine kombination aus zahlen ist oder da buchstaben drin sind(nur zahlen wäre richtig, aber wenn jemand versucht, eine eigene id mit buchstaben einzugeben würde ja ein fehler erscheinen...)
wie kann ich also feststellen , ob die id aus zahlen besteht???
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| function IDCheck : string; var id ,id1, id2, id3: string; idnew: integer; begin id:= configfile.Strings[0]; id1:= Copy(id,1,2); id2:= Copy(id,3,4); id3:= Copy(id,5,6); idnew:= StrToInt(id1) + StrToInt(id2) - StrToInt(id3); if idnew = 0 then result:= 'True' else result:= 'False'; end; |
LexXis - Sa 11.07.09 16:16
TryStrToInt gibt dir aus ob es möglich ist, den String umzuwandeln. Und wandelt ihn nach Möglichkeit sogar gleich um.
mfg
jaenicke - Sa 11.07.09 16:27
Nur am Rande: Kann es sein, dass du irrtümlich vermutest, dass Copy den Anfangs- und Endindex erwartet? Der letzte Parameter ist die Länge des zu kopierenden Abschnitts, nicht der Endindex. ;-)
(Denn deine kopierten Abschnitte überlagern sich.)
Abgesehen davon: Wozu nimmst du drei Teile des Strings, wenn dazwischen gar kein Bindestrich oder so ist?
Maisinator - Sa 11.07.09 16:50
jaenicke hat folgendes geschrieben : |
Nur am Rande: Kann es sein, dass du irrtümlich vermutest, dass Copy den Anfangs- und Endindex erwartet? Der letzte Parameter ist die Länge des zu kopierenden Abschnitts, nicht der Endindex. ;-)
(Denn deine kopierten Abschnitte überlagern sich.)
Abgesehen davon: Wozu nimmst du drei Teile des Strings, wenn dazwischen gar kein Bindestrich oder so ist? |
ohh, jetzt weiß ich auch, warum das nicht so ganz funktionierte^^
das müsste dann so aussehen oder???
Delphi-Quelltext
1: 2: 3:
| id1:= Copy(id,1,1); id2:= Copy(id,3,1); id3:= Copy(id,5,1); |
ich nehm 3 teile des strings, da ich gucken will, ob die drei teile addiert und subtrahiert = 0 sind. sonst hat eine id ja gar keinen sinn...(mit bindestrichen wär es für meine freunde zu einfach, die id zu knacken...)
Maisinator - Sa 11.07.09 16:57
LexXis hat folgendes geschrieben : |
TryStrToInt gibt dir aus ob es möglich ist, den String umzuwandeln. Und wandelt ihn nach Möglichkeit sogar gleich um.
mfg |
was müsste ich dann als "value: integer" eingeben???
Regan - Sa 11.07.09 17:02
Eine Variable, die danach deinen Integerwert aufnimmt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| var dummy: Integer;
if TryStrToInt('2', dummy) then dummy := dummy + 2 else exit; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!