Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Letztes Zeichen eines Strings überprüfen?
Thunder00 - Sa 28.12.02 03:19
Titel: Letztes Zeichen eines Strings überprüfen?
Hallo,
Ich habe unter Delphi 7 ein LabeledEdit, wo man einen Pfad zu einem Verzeichnis eintippen soll bzw. das über ein Windows-Dialog auswählen kann.
Über dem Windowsdialog ist das auch echt ne feine Sache. Die Datei die aus dem Verzeichnis gestartet werden soll hände ich dann einfach an den String dran:
Quelltext
1: 2: 3: 4: 5: 6:
| var s: string; p: pchar; begin s := LabeledEdit1.Text + ' \proggi.exe' p := PChar(s); WinExec(p, sw_show); end; |
So soll das alles aussehen. Doch wenn in LabeledEdit1.Text der pfad eingetippt wird und dann ein " \ " dahinter gesetzt wird ist es anstatt:
c:\proggi\proggi.exe
c:\proggi\\proggi.exe
Deswegen muss ich wissen, ob das letzte zeichen ein " \ " ist.
Wie?? Ich weiss, das man mit String[x] über das x ein bestimmtes zeichen lesen kann, nur wie finde ich raus, welche nummer das letzte Zeichen hat??
Bitte helft mir.
Vielen Dank im Voraus,
Andreas
chefkoch - Sa 28.12.02 03:27
guten morgen!
Quelltext
1: 2:
| if edit1.text[length(edit1.text)] <> '\' then edit1.text := edit1.text + '\' |
fertisch is
cya
chefkoch
Delete - Sa 28.12.02 06:56
Und nimm bitte statt WinExec Shellexecute oder CraeteProcess. WinExec ist nur noch aus kompatibiltäts Grunden vorhanden und von Micosoft als obsolet gekennzeichnet, das heißt in zukünftigen OS Versionen könnte es nicht mehr vorhanden sein.
Thunder00 - Sa 28.12.02 15:35
Titel: Vielen Dank
Vielen Dank für eure Hilfe. Ich kann noch nicht so gut programmieren und den WinExec hab ich von meinem Vater.
Wie sind ShellExecute und CreateProc den aufgebaut?? Wie sehen da die Parameter aus??
Gruß,
Andreas
Delete - Sa 28.12.02 15:49
Zu Shellexecute findest du hier was im Forum.
smiegel - So 29.12.02 11:31
Hallo,
um sicherzustellen, dass ein Backslash am Ende einer Pfadangabe steht, geht mit Delphi-Bordmitteln:
Quelltext
1: 2: 3: 4: 5:
| Delphi 7: Result:=IncludeTrailingPathDelimiter(ExcludeTrailingPathDelimiter(aName));
Delphi 5: Result:=IncludeTrailingBackslash(ExcludeTrailingBackslash(aName)); |
Näheres dazu, in der Delphi-Hilfe.
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!