Ordner öffnen durch OnClickScript

Alles, was den Programmierer beschäftigt

Moderator: SYNERPY

Antworten
mlc
Beiträge: 84
Registriert: Di Apr 11, 2006 2:42 pm

Ordner öffnen durch OnClickScript

Beitrag von mlc »

Hallo,

ich möchte einen Button in eine Maske einfügen. Dieser soll wenn er gedruckt wird einen Ordner öffnen und falls dieser noch nicht existiert diesen anlegen.

Das einfügen des Button ist nicht das Problem, aber wie mußt das Skript aussehen damit der Ordner geöffnet wird und ggf. angelegt wird??
Oder wie ist es möglich ein z.B. C++ Programm bei dem OnClickScript auszuführen und diesem Variablen mit zu übergeben??

Habe so gut wie keine Ahnung von Delphi :roll:
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Ein guter Programmierer weiß, was er programmieren muss.
Ein exzellenter Programmierer weiß, was er kopieren muss. :)

Schau doch mal in die Maske FRMV_BSAFILE, da gibt es schon alles:

Code: Alles auswählen

Begin
  if (q_1.state = dssInsert) or (q_1.state = dssEdit) then
  begin
    s1 := OPENDIALOG('OPENDIALOG_1');
    if s1 <> '' then
      E_PFAD.Field.Value := s1;
  end;
End;
Öffnet einen Filedialog. Dort kann der Ordner manuell angelegt werden. Vorher aber eine TOpendialog-Komponente auf das Formular setzen (Rechts unten im Designer, "Feldunabhängige Komponente").

Der "Öffnen"-Button startet ein Programm:

Code: Alles auswählen


Begin
  if ((q_1.state <> dssInsert) or (q_1.state <> dssEdit)) then
  begin
    PFAD := AsString(q_1.FieldByName('PFAD'));
    if (PFAD <> '') then
      Externprogramm('',PFAD,0);
  end;
End;

Hier kann gestartet werden, was man will, also z.B.:

Code: Alles auswählen

PFAD := 'c:\programme\averp\meine.exe';
mlc
Beiträge: 84
Registriert: Di Apr 11, 2006 2:42 pm

Beitrag von mlc »

Hi,

Danke! Das hat mir sehr geholfen.
Hätte auch schon versucht den Code zu kopieren von BSABILD doch das hatte nicht geklappt, da ich die TOpendialog-Komponente nicht hatte. :wink:
Woher soll man das auch wissen. :D
Jetzt Klappt es.

Danke nochmal!!

Gruß mlc
mlc
Beiträge: 84
Registriert: Di Apr 11, 2006 2:42 pm

Beitrag von mlc »

Hi,

eine Frage habe ich jetzt doch noch.
Wofür sind denn die anderen beiden Parameter bei Externprogramm('',PFAD,0); zuständig??

gruß
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Externprogramm(sProgramm, sParameter : string; nWarten : integer);
Startet jedes beliebige Programm.
Parameter nWarten=0 -> Programm starten ( default )
Parameter nWarten=1 -> Programm starten und Warten bis beendet.
Para: nwarten=1 funktioniert nicht bei allen Programmen z.B. AcrobatReader und nur wenn ein Programm mit angegeben worden ist.
Beispiel 1:
EXTERNPROGRAMM('"C:\Programme\Adobe\Acrobat6.0\Acrobat\Acrobat.exe"',
'"C:\Temp\test.pdf"',1);
Beispiel 2:
EXTERNPROGRAMM('','C:\Temp\Test1.doc',1);

( Doppelte Anführungszeichen hier weglassen. Es wird das Programm gestartet, welches mit dem Dokumententyp „doc“ intern verknüpft ist.
Antworten