AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ListBox und Message Box Problem

Ein Thema von Johnny Bravo · begonnen am 7. Jun 2008 · letzter Beitrag vom 7. Jun 2008
 
Johnny Bravo

Registriert seit: 7. Jun 2008
75 Beiträge
 
#1

ListBox und Message Box Problem

  Alt 7. Jun 2008, 11:37
Hi,
ich bin neu hier bei euch im forum, und hab direkt mehrere Fragen an die Gurus hier:

Ich habe eine anwendung geschrieben, in der sich durch drücken eines buttons, der TOpenDialog öffnet, wo dann der Pfad der ausgewählten Datei in eine ListBox geladen wird:


Delphi-Quellcode:
procedure TForm2.Button3Click(Sender: TObject);

begin
                  begin
  
  openDialog := TOpenDialog.Create(self);

  
  openDialog.InitialDir := GetCurrentDir;

  
  openDialog.Options := [ofFileMustExist];

  
  openDialog.Filter :=
    'Ausführbare Dateien|*.exe;*.com;*.bat|Batchdateien|*.bat';

  
  openDialog.FilterIndex := 1;

  if openDialog.Execute // Öffnet den Open Dialog
    then MessageDlg('Datei :'+openDialog.FileName, mtInformation, [mbOk], 0);

         ListBox1.MultiSelect :=False;
         ListBox1.Items.Add (openDialog.FileName); //Fügt die aktuelle Auswahl des Programmes der ListBox hinzu.
         ListBox1.Sorted :=True; //ListBox1.Items.AddStrings(TStrings);
     
  openDialog.Free;
end;
Frage 1:
Wie kann ich einen einzelnen Wert aus der ListBox dann per Shellexecute starten?
Folgender Code funktioniert nur wenn ich einen physikalischen pfad zu einem programm angebe.

Delphi-Quellcode:
var
  Err: Integer;
begin
  Err:= ShellExecute(0,
               Nil,
               PChar('hier sollte der eintrag aus der listbox stehen'),
               Pchar('-Parameter'),
               Pchar('C:\StartDir'),
               SW_NORMAL);
               if Err <= 32 then
    Showmessage(ShellExecuteErrMessage(Err));
end;
Frage 2: Wenn man einen Button drückt, wird der ausgewählte eintrag der Listbox gelöscht, vorher aber noch durch ein Messag Dialog abgefragt.
Wenn man auf Ok drückt, wird der Eintrag entfernt, doch auch auf Abbrechen wird der gelöscht.
caNone funktioniert hier leider nicht, ich bekomme eine fehlermeldung das TBasic Action und TCloseAction inkompatiblen typen wären.
wenn ich den Befehl aber beim TForm.Close anwende funktioniert er jedoch.

Delphi-Quellcode:
procedure TForm2.Button4Click(Sender: TObject);
 var
  buttonSelected : Integer;
begin

     buttonSelected := MessageDlg('Soll das Programm aus der Liste entfernt werden? ', mtCustom, [mbYes,mbCancel], 0);
     if buttonSelected = mrYes then ShowMessage('Programm wurde entfernt.');
        Listbox1.Items.Delete(Listbox1.ItemIndex);
     if buttonSelected = mrNo then Action := caNone;
       end;

ich wäre dankbar wenn ihr mir bei meinen problemen helfen könntet.
Evtl. ist der titel etwas unglücklich ausgedrückt, mir fällt im augenblick kein passender ein

mfg Johnny Bravo
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz