Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datentypen Umwandeln (https://www.delphipraxis.net/18630-datentypen-umwandeln.html)

Matze 22. Mär 2004 15:25

Re: Datentypen Umwandeln
 
Kannst du's nicht so machen?

Delphi-Quellcode:
var
  s: string;
  p: PChar;
begin
  s:=IBQuery1.FieldByName('Pfad').AsString;
  p := PChar(s);

  if ShellExecute(windows.PROCESS_CREATE_THREAD, 'open', 'AcroRd32.exe', p, nil, SW_SHOWDEFAULT)< 33 then showmessage('Anwendung kann nicht geoeffnet werden ');
end;

thomasvonmuenster1 22. Mär 2004 15:30

Re: Datentypen Umwandeln
 
Beide gehen ohne Fehler.Aber er macht mir meine SW_SHOWDEFAULT Anzeige auf.
Gibt es eine andere möglichkeit Datei zu öffnen als ShellExecute?

mirage228 22. Mär 2004 15:31

Re: Datentypen Umwandeln
 
Zitat:

Zitat von thomasvonmuenster1
Beide gehen ohne Fehler.Aber er macht mir meine SW_SHOWDEFAULT Anzeige auf.
Gibt es eine andere möglichkeit Datei zu öffnen als ShellExecute?

Japp. Hier im Forum suchenCreateProcess

mfG
mirage228

kiar 22. Mär 2004 15:37

Re: Datentypen Umwandeln
 
anbei eine procedure die gleiches macht.
Delphi-Quellcode:
procedure TForm1.ListView1DblClick(Sender: TObject);
var
   i :integer;
   x,msg :string;
   item:TListitem;

begin
      item:=listview1.Selected;
      for i:=0 to aritechlist.count-1 do begin
   if aritechlist.items[i].name = item.SubItems[0] then
        begin
           x:= aritech.aritechlist.Items[i].File_name;
                if x = '' then
                  begin
                    showmessage('kein pdf file vorhanden');
                    exit;
                  end;
      end; end;
       i:=shellexecute(handle,
                 'open',
                      'acrord32.exe',
                      Pchar(x),
                      'c:\',9);


            if i <= 32 then begin
           case i of
           0  : msg :=' Zu wenig Speicher, ausführbare Datei war zerstört,'+
                      ' Relokationswerte waren ungültig';
                2  : msg :=' Datei wurde nicht gefunden';
                3  : msg :=' Verzeichnis wurde nicht gefunden';
                5  : msg :=' Fehler beim gemeinsamen Zugriff auf eine Datei im '+
                      ' Netz oder Fehler bei Zugriff auf eine gesperrte Datei '+
                           ' im Netz';
                6  : msg :=' Bibliothek fordert separate Datensegmente für jeden Task an';
                8  : msg :=' Zu wenig Speicher um die Anwendung zu starten';
                10 : msg :=' Falsche Windows Version';
                11 : msg :=' Ungültige ausführbare Datei. entweder keine Windowsanwendung'+
                           ' oder Fehler in der EXE Datei';
                12 : msg :=' Anwendung für ein anderes Betriebssystem';
                13 : msg :=' Anwendung für MS-DOS 4.0';
                14 : msg :=' Typ der ausführbaren Datei unbekannt';
                15 : msg :=' Versuch, eine Real-Mode-Anwendung zu laden';
                19 : msg :=' Versuch, eine komprimierte ausührbare Datei zu laden. Die Datei muß'+
                           ' dekomprimiert werden, bevor sie geladen wird';
                20 : msg :=' Ungültige DLL';
      end;
   showmessage(msg);
  end;
end;
aber bitte nicht mit copy und paste einfügen :mrgreen:

raik

thomasvonmuenster1 22. Mär 2004 15:59

Re: Datentypen Umwandeln
 
Ich bin am ende, habe alles mögliche nochmal probiert aber ............nicht!
Mache Morgen weiter.

Danke nochmals an alle für die Hilfe!

Ideen immer erwünscht.

kiar 22. Mär 2004 16:00

Re: Datentypen Umwandeln
 
nun mal langsam und nicht aufgeben.

zeig noch mal deinen code.

raik

thomasvonmuenster1 23. Mär 2004 08:23

Re: Datentypen Umwandeln
 
Mit notepad geht es! Aber mit PDF noch nicht, es springt immer meine Fehlermeldung an.
Kann es sein weil PDF word und so aktive Dokumente sind?
Oder liegt der Fehler wo anders?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
  x: PAnsiChar;
begin
  s:=IBQuery1.FieldByName('Pfad').AsString;
  x := PChar(s);

  if ShellExecute(windows.PROCESS_CREATE_THREAD, 'open', 'notepad.exe', Pchar(x), nil, SW_SHOWDEFAULT)< 33 then showmessage('Anwendung kann nicht geoeffnet werden ');
   Label4.Caption:=x;
  end;


procedure TForm1.Button5Click(Sender: TObject);
var
  s: string;
  x: PAnsiChar;
begin
  s:=IBQuery1.FieldByName('Pfad').AsString;
  x := PChar(s);

  if ShellExecute(windows.PROCESS_CREATE_THREAD, 'open', 'AcroRd32.exe', nil, nil, SW_SHOWDEFAULT)< 33 then showmessage('Anwendung kann nicht geoeffnet werden ');
   Label4.Caption:=x;
   end;

thomasvonmuenster1 23. Mär 2004 08:41

Re: Datentypen Umwandeln
 
Jetzt macht er es!!!!!!!!!!!!
Ich habe Adobe Reader 6.0 installiert dann hat er es gemacht.
Mit 5.0 Acrobat macht er es nicht.

Danke Danke Danke Danke Danke Danke Danke Danke Danke

kiar 23. Mär 2004 08:41

Re: Datentypen Umwandeln
 
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
var
  s: string;
  x: PAnsiChar;
begin
  s:=IBQuery1.FieldByName('Pfad').AsString;
  x := PChar(s);

  if ShellExecute(Handle, 'open', 'AcroRd32.exe', x, nil, 9)< 33 then showmessage('Anwendung kann nicht geoeffnet werden ');
   Label4.Caption:=x;
   end;

kiar 23. Mär 2004 08:46

Re: Datentypen Umwandeln
 
ich glaube der acrobat 5 hat auch eine andere exe :mrgreen:

na bitte

raik


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 Uhr.
Seite 2 von 3     12 3      

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-2025 by Thomas Breitkreuz