Autor Beitrag
Thunder00
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 52



BeitragVerfasst: Sa 28.12.02 03:19 
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:
ausblenden 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

_________________
If you can't make it good, at least make it looks good. (Bill Gates)
chefkoch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 48

WIN XP pro
D7
BeitragVerfasst: Sa 28.12.02 03:27 
guten morgen!

ausblenden Quelltext
1:
2:
  
if edit1.text[length(edit1.text)] <> '\' then edit1.text := edit1.text + '\'



fertisch is


cya

chefkoch
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 52



BeitragVerfasst: 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

_________________
If you can't make it good, at least make it looks good. (Bill Gates)
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Sa 28.12.02 15:46 
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 28.12.02 15:49 
Zu Shellexecute findest du hier was im Forum.
smiegel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 992
Erhaltene Danke: 1

WIN 7
D7 Prof., C#, RAD XE Prof.
BeitragVerfasst: So 29.12.02 11:31 
Hallo,

um sicherzustellen, dass ein Backslash am Ende einer Pfadangabe steht, geht mit Delphi-Bordmitteln:

ausblenden 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.

_________________
Gruß Smiegel
Ich weiß, daß ich nichts weiß, aber ich weiß mehr als die, die nicht wissen, daß sie nichts wissen. (Sokrates)