alors il peut oui aussi pour spezielle Fälle une eigenen Save-Dialog bricoler. cet ist besonders pratique, là on viel plus Funktionen einbauen peux, ou bien aussi selbst une Vorschau-Dossier Montrer laisser peux. on hat viel plus Kontrolle comment on quoi speichert...
Hab la fois comme Beispiel une Exe drangehängt! (Ist seulement un vite hingeschriebenes Beispiel)
' seulement la fois un Beispiel - Sieht aussi pas wirklich besonders joli aus :D
$H Windows.ph
$H messages.ph
Usermessages ~wm_close
' ########################### Globale Variablen et Sonstiges
Déclarer L#,Sz&,Filename&,Pfad&,CDButton&,VorgabePfad$,Typ&,TempExt$,TempFile$,Version&,VText&,GB&
Faible L#,4
DEF PathFindExtension(1) !"Shlwapi","PathFindExtensionA"
DEF PathRemoveExtension(1) !"SHLWAPI","PathRemoveExtensionA"
VorgabePfad$="E:\myPrograms\SelfSave"' <--- s'il te plaît changement, là cette Pfad muss zum testetn existent son muss !!!
' ########################### Findet Extension beim Dateiname
Proc Findext
parameters FN$
Déclarer ext#
Faible ext#,20
ext# = PathFindExtension(addr(FN$))
FN$ = string$(ext#,0)
dispose ext#
return FN$
endproc
' ########################### seulement Dateiname sans Extension
proc removeExt
parameters FN$
Déclarer Result#,result$
Faible Result#,261
string result#,0 = FN$
PathRemoveExtension(result#)
result$ = string$(result#,0)
Dispose result#
return result$
endproc
' ########################### Fensterelemente
Proc Elements
Créer("Text",%hwnd,"Dateiname:",10,12,80,23)
Filename&=Créer("Edit",%hwnd,"Test.out",87,10,400,23)
Créer("Text",%hwnd,"Pfad:",10,42,80,23)
Pfad&=Créer("Edit",%hwnd,VorgabePfad$,87,40,400,23)
CDButton&=Créer("Button",%hwnd,"Pfad ändern",500,40,100,23)
Créer("Text",%hwnd,"Dateityp:",10,72,80,23)
Typ&=Créer("ChoiceBox",%hwnd,0,87,70,400,230)
AddStrings(Typ&,"OUT-Dossier (*.out)")
AddStrings(Typ&,"XML (*.xml)")
AddStrings(Typ&,"JSON (*.json)")
Sélectionnez String(Typ&,-1,"OUT")
TempExt$="OUT-Dossier (*.out)"
VText&=Créer("Text",%hwnd,"Version:",10,102,80,23)
Version&=Créer("ChoiceBox",%hwnd,0,87,100,400,230)
AddStrings(Version&,"Out-Version 1.0")
AddStrings(Version&,"Out-Version 2.0")
AddStrings(Version&,"Out-Version 3.0")
Sélectionnez String(Version&,-1,"Out-Version 1.0")
GB&=Créer("GroupBox",%hwnd," Optionen ",87,130,400,85)
Créer("CheckBox",GB&,"Schreibgeschützt",10,20,150,23)
Créer("CheckBox",GB&,"Versteckt",170,20,150,23)
Créer("CheckBox",GB&,"Komprimiert",10,50,150,23)
Créer("CheckBox",GB&,"Verschlüsselt",170,50,150,23)
Créer("DefButton",%hwnd,"Speichern",87,230,100,23)
Créer("Button",%hwnd,"Abbrechen",190,230,100,23)
ENDPROC
' ########################### Neuer Pfad
Proc NewDir
var NeuPfad$=ChooseDir$(%hwnd,"Neuen Pfad wählen",GetText $(Pfad&),2)
Casenote NeuPfad$=»:SetText Pfad&,NeuPfad$
ENDPROC
' ########################### Update la fenêtre
Proc UpdateWindow
Cas width(%hwnd,1)<800:SetWindowPos %hwnd=%WinLeft,%WinTop-800,height(%hwnd,1);0
Cas height(%hwnd,1)<600:SetWindowPos %hwnd=%WinLeft,%WinTop-width(%hwnd,1),600;0
SetWindowPos Sz& = 0,0-0,0;0
ENDPROC
' ########################### Hauptfenster
Fenêtre Style 31
Titre de la fenêtre "SelfSave Beispiel"
Fenêtre %maxx+5,5 - 800,600
Cls ~GetSysColor(15)
UseFont "Verdana",16,0,0,0,0
var font&=Créer("Font","Verdana",16,0,0,0,0)
SetDialogFont 1
Elements
Long L#,0=-1
Sz& = Créer("StatusWindow",%HWND,»,1,L#)
SetText Sz&, 0, "Dateiname: Test | Extension: odt"
SetWindowPos %hwnd=((%maxx/2)-400),((%maxY/2)-300)-800,600;0
' ########################### Hauptschleife
WhileNot (%Umessage = ~wm_close) & (&uWnd = %hWnd)
WaitInput
Cas %Key=4:UpdateWindow
Cas Clicked(CDButton&):NewDir
si GetText $(Typ&)=TempExt$
d'autre
removeExt GetText $(Filename&)
si $(0)=»
TempFile$="Neue Datei"
d'autre
TempFile$=$(0)
endif
si GetText $(Typ&)="OUT-Dossier (*.out)"
SetText Filename&,TempFile$+".out"
SetText Sz&, 0, "Dateiname: "+Tempfile$+" | Extension: out"
EnableWindow Version&,1
EnableWindow VText&,1
elseif GetText $(Typ&)="XML (*.xml)"
SetText Filename&,TempFile$+".xml"
SetText Sz&, 0, "Dateiname: "+Tempfile$+" | Extension: xml"
EnableWindow Version&,0
EnableWindow VText&,0
elseif GetText $(Typ&)="JSON (*.json)"
SetText Filename&,TempFile$+".json"
SetText Sz&, 0, "Dateiname: "+Tempfile$+" | Extension: json"
EnableWindow Version&,0
EnableWindow VText&,0
endif
TempExt$=GetText $(Typ&)
endif
Endwhile
Dispose L#
|