Foro | | | | rafl | Yo möchte gerne en una Savefile-Diálogo una Namensvorschlag para el a speichernde Expediente transferencia, el se de el Dateinamen uno vorher eingelesenen Eingabedatei ergibt. Dieser Namensvorschlag se vom Programmnutzer entweder übernommen oder geändert voluntad puede.
Bsp.: Name el Eingabedatei: "test.inp", Name el Ausgabedatei: "test.out". Beim Öffnen des Savefile-Dialoges se "test.out" ya en el Eingabefeld hinter Dateinamen posición. Je después de Bedürfnis kann entonces el Nutzer entscheiden, si él el Dateinamen así posición lässt oder ändert. Yo habe lo ya con verschiedenen Einstellungen des Parámetros S2 beim Aufruf de savefile$ probiert, habe el gewünschte Ergebnis pero no hinbekommen. |
| | | | |
| | ByteAttack | Lief en me einwandfrei???
|
| | | | |
| | rafl | OK, vielen Dank. Und como kombiniere Yo el con un Filter, dass en Angabe uno individuellen Namens *.out verwendet se?
Mi bisherige Programmzeile sieht así de: outdatei$=SaveFile$("Datei speichern","out-Expediente (*.out)|*.out") |
| | | | |
| | ByteAttack | Also en S2 es sí drin:
Namensvorschlag (con Pfad) oder Dateimaske
Weiterhin es sí en el Dateityp sí entonces *.out drin. Wird sólo una Name en el Dateityp angegeben se automáticamente una .out drangehängt.
(Profano-Ayuda: El ausgewählte Endung se benutzt, si beim Dateinamen no Endung angegeben se.)
Also reicht völlig! |
| | | | |
| | rafl | Vielen Dank ! Jetzt klappts. Das ha se para mich así de el Ayuda no ergeben. |
| | | | |
| | ByteAttack | Also uno de hecho puede auch para spezielle Fälle una eigenen Save-Diálogo remendar. Dieses es besonders praktisch, como uno viel mehr Características einbauen kann, oder auch incluso una Prevista-Expediente Mostrar dejar kann. Man ha viel mehr Kontrolle cómo qué speichert...
Hab veces como Ejemplo una Exe drangehängt! (Ist sólo una rápidamente hingeschriebenes Ejemplo)
' Nur veces una Ejemplo - Sieht auch no wirklich besonders hübsch de :D
$H Windows.ph
$H messages.ph
Usermessages ~wm_close
' ########################### Globale Variables y Sonstiges
Declarar L#,Sz&,Filename&,Pfad&,CDButton&,VorgabePfad$,Typ&,TempExt$,TempFile$,Version&,VText&,GB&
Dim L#,4
DEF PathFindExtension(1) !"shlwapi","PathFindExtensionA"
DEF PathRemoveExtension(1) !"SHLWAPI","PathRemoveExtensionA"
VorgabePfad$="E:\myPrograms\SelfSave"' <--- Bitte ändern, como dieser Pfad muss para testetn existent ser muss !!!
' ########################### Findet Extension beim Dateiname
Proc Findext
parámetros FN$
Declarar ext#
Dim ext#,20
ext# = PathFindExtension(addr(FN$))
FN$ = cadena$(ext#,0)
disponer ext#
volver FN$
ENDPROC
' ########################### Nur Dateiname sin Extension
proc removeExt
parámetros FN$
Declarar Result#,resultado$
Dim Result#,261
cadena resultado#,0 = FN$
PathRemoveExtension(resultado#)
resultado$ = cadena$(resultado#,0)
Disponer resultado#
volver resultado$
ENDPROC
' ########################### Fensterelemente
Proc Elements
Crear("Text",%hwnd,"Dateiname:",10,12,80,23)
Filename&=Crear("Edit",%hwnd,"Test.out",87,10,400,23)
Crear("Text",%hwnd,"Pfad:",10,42,80,23)
Pfad&=Crear("Edit",%hwnd,VorgabePfad$,87,40,400,23)
CDButton&=Crear("Button",%hwnd,"Pfad ändern",500,40,100,23)
Crear("Text",%hwnd,"Dateityp:",10,72,80,23)
Typ&=Crear("ChoiceBox",%hwnd,0,87,70,400,230)
AddStrings(Typ&,"OUT-Expediente (*.out)")
AddStrings(Typ&,"XML (*.xml)")
AddStrings(Typ&,"JSON (*.json)")
Seleccione String(Typ&,-1,"OUT")
TempExt$="OUT-Expediente (*.out)"
VText&=Crear("Text",%hwnd,"Version:",10,102,80,23)
Version&=Crear("ChoiceBox",%hwnd,0,87,100,400,230)
AddStrings(Version&,"Out-Versión 1.0")
AddStrings(Version&,"Out-Versión 2.0")
AddStrings(Version&,"Out-Versión 3.0")
Seleccione String(Version&,-1,"Out-Versión 1.0")
GB&=Crear("GroupBox",%hwnd," Optionen ",87,130,400,85)
Crear("CheckBox",GB&,"Schreibgeschützt",10,20,150,23)
Crear("CheckBox",GB&,"Versteckt",170,20,150,23)
Crear("CheckBox",GB&,"Komprimiert",10,50,150,23)
Crear("CheckBox",GB&,"Verschlüsselt",170,50,150,23)
Crear("DefButton",%hwnd,"Speichern",87,230,100,23)
Crear("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
' ########################### Actualización Ventana
Proc UpdateWindow
Case width(%hwnd,1)<800:SetWindowPos %hwnd=%WinLeft,%WinTop-800,height(%hwnd,1);0
Case height(%hwnd,1)<600:SetWindowPos %hwnd=%WinLeft,%WinTop-width(%hwnd,1),600;0
SetWindowPos Sz& = 0,0-0,0;0
ENDPROC
' ########################### Ventana principal
Ventana de Estilo 31
Título de la ventana "SelfSave Beispiel"
Ventana %maxX+5,5 - 800,600
Cls ~GetSysColor(15)
UseFont "Verdana",16,0,0,0,0
var font&=Crear("Font","Verdana",16,0,0,0,0)
SetDialogFont 1
Elements
Largo L#,0=-1
Sz& = Crear("StatusWindow",%HWND,"",1,L#)
SetText Sz&, 0, "Dateiname: Test | Extension: odt"
SetWindowPos %hwnd=((%maxX/2)-400),((%maxY/2)-300)-800,600;0
' ########################### Hauptschleife
Sinestar encargado (%Umessage = ~wm_close) & (&uWnd = %hWnd)
WaitInput
Case %Key=4:UpdateWindow
Case Clicked(CDButton&):NewDir
if GetText $(Typ&)=TempExt$
más
removeExt GetText $(Filename&)
if $(0)=""
TempFile$="Neue Datei"
más
TempFile$=$(0)
endif
if GetText $(Typ&)="OUT-Expediente (*.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
Disponer L#
|
| | | | |
| | ByteAttack | Video Preview: (YouTube) [...] |
| | | | |
|
RespuestaThemeninformationenDieses Thema ha 2 subscriber: |