Français
Forum

Savefile-Dialog Namensvorschlag

 

rafl
je voudrais volontiers dans une Savefile-Dialog une Namensvorschlag pour qui trop speichernde Dossier transfert, qui sich aus dem Dateinamen einer auparavant eingelesenen Eingabedatei ergibt. cette Namensvorschlag soll vom Programmnutzer entweder übernommen ou bien geändert volonté peut.

Bsp.: nom qui Eingabedatei: "test.inp", nom qui Ausgabedatei: "test.out". Beim Öffnen des Savefile-Dialoges soll "test.out" déjà dans dem Eingabefeld derrière Dateinamen stehen. Je pour Bedürfnis peux ensuite qui Nutzer entscheiden, si il den Dateinamen so stehen peut ou bien ändert. j'ai es déjà avec verschiedenen Einstellungen des Paramètres S2 beim Aufruf de savefile$ probiert, habe cela gewünschte Ergebnis mais pas hinbekommen.
 
19.08.2017  
 




ByteAttack
Lief chez mir einwandfrei???
var nom$=SaveFile$("Speichere Datei","test.out")
 
XProfan X3
Website:  [...] 
Facebook:  [...] 
20.08.2017  
 




rafl
OK, vielen Dank. et comment kombiniere je cela avec einem filtre, dass chez qui Angabe eines individuellen Namens *.out verwendet wird?

mon bisherige Programmzeile sieht so aus:
outdatei$=SaveFile$("Datei speichern","out-Dossier (*.out)|*.out")
 
20.08.2017  
 




ByteAttack
alors chez S2 steht oui drin:

Namensvorschlag (avec Pfad) ou bien Dateimaske

Weiterhin ist oui im Dateityp oui ensuite *.out drin. Wird seulement un nom im Dateityp angegeben wird automatisch un .out drangehängt.

(Profan-Aider: qui ausgewählte Endung wird benutzt, si beim Dateinamen aucun Endung angegeben wird.)

alors
var nom$=SaveFile$("Speichere Datei","test.out")
reicht völlig!
 
XProfan X3
Website:  [...] 
Facebook:  [...] 
20.08.2017  
 




rafl
Vielen Dank !
maintenant klappts.
cela hat sich pour mich so aus qui Aider pas ergeben.
 
20.08.2017  
 




ByteAttack
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#

662 kB
Bezeichnung:SelfSave
Hochgeladen:21.08.2017
Downloadcounter94
Download
 
Website:  [...] 
Facebook:  [...] 
21.08.2017  
 




ByteAttack
Video Preview: (YouTube) [...] 
 
XProfan X3
Website:  [...] 
Facebook:  [...] 
21.08.2017  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

5.793 Views

Untitledvor 0 min.
RudiB.15.04.2022
Michael Hettner02.09.2021
Manfred Barei02.03.2019
rafl17.02.2019
plus...

Themeninformationen

cet Thema hat 2 participant:

ByteAttack (4x)
rafl (3x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie