Speichern unter !!!

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
sebsch80
Beiträge: 53
Registriert: 28.09.2006 20:28
Wohnort: Suhl
Kontaktdaten:

Speichern unter !!!

Beitrag von sebsch80 »

Hallo,

ich bins nochmal.

Selbes Programm wie eben schon mal, nur möchte ich die Datei nicht immer unter "test.txt" abspeichern,
sondern nach dem betätigen des Speichern Buttons soll er mich fragen wo er die Datei speichern und wie er sie benennen soll.
Ist das möglich???

Hier noch mal der Code zum testen:

Code: Alles auswählen

If OpenWindow(0,100,100,610,130,"Fussball-Tipp",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))
 If CreateToolBar(0, WindowID(0))
    ToolBarStandardButton(0, #PB_ToolBarIcon_New)
    ToolBarStandardButton(1, #PB_ToolBarIcon_Open)
    ToolBarStandardButton(2, #PB_ToolBarIcon_Save)
 EndIf
StringGadget (0,5,28,60,14,"Spiel",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (1,70,28,50,14,"1",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (2,130,28,50,14,"2",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (3,190,28,50,14,"3",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (4,250,28,50,14,"4",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (5,310,28,50,14,"5",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (6,370,28,50,14,"6",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (7,430,28,50,14,"7",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (8,490,28,50,14,"8",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (9,550,28,50,14,"9",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
For Z1 = 0 To 9
SetGadgetColor (Z1,#PB_Gadget_BackColor,$000000)
SetGadgetColor (Z1,#PB_Gadget_FrontColor,$0000FF)
Next
StringGadget (10,5,47,60,16,"Ergebnisse",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (11,70,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (12,130,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (13,190,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (14,250,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (15,310,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (16,370,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (17,430,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (18,490,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (19,550,45,50,20,":",#PB_Text_Center | #PB_String_Numeric)
For Z1 = 10 To 19
SetGadgetColor (Z1,#PB_Gadget_BackColor,$0000FF)
SetGadgetColor (Z1,#PB_Gadget_FrontColor,$33FFFF)
Next
StringGadget (20,5,67,60,16,"Tipp",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
StringGadget (21,70,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (22,130,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (23,190,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (24,250,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (25,310,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (26,370,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (27,430,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (28,490,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
StringGadget (29,550,65,50,20,":",#PB_Text_Center | #PB_String_Numeric)
For Z1 = 20 To 29
SetGadgetColor (Z1,#PB_Gadget_BackColor,$00FFFF)
SetGadgetColor (Z1,#PB_Gadget_FrontColor,$000000)
Next
ButtonGadget (30,200,95,70,30,"Vergleiche",#PB_Text_Center)
EndIf
Repeat                                                                ;\
 Event = WaitWindowEvent() 
 If Event = #PB_Event_CloseWindow
 Quit = 1
 EndIf
 If Event = #PB_Event_Menu
  If EventMenu()=2
    CreateFile (1,"D:\Programme\PureBasic\test.txt")
    For i=11 To 19 
            WriteStringN(1,GetGadgetText(i))
        Next i 
     CloseFile(1)
     Else 
      Debug "..weil die datei vermutlich nicht erstell werden konnte" 
   EndIf 
         EndIf                                   ; }Event Funktion
If Event = #PB_Event_Gadget And EventGadget() = 30      
EndIf            
Until Quit = 1
PureBasic 4.00 / Anfänger
TomTom
Beiträge: 130
Registriert: 18.10.2006 18:47

Beitrag von TomTom »

also ich würde den Befehl nehmen :

DateiName$ = SaveFileRequester(Titel$, StandardDatei$, Pattern$, PatternPosition)


MFG!
Benutzeravatar
sebsch80
Beiträge: 53
Registriert: 28.09.2006 20:28
Wohnort: Suhl
Kontaktdaten:

Beitrag von sebsch80 »

@ TomTom

dasheist ich soll in der Zeile
CreateFile (1,"D:\Programme\PureBasic\test.txt")
den Pfad mit "DateiName$" tauschen und den dann als Variable
DateiName$ = SaveFileRequester(Titel$, StandardDatei$, Pattern$, PatternPosition)
schreiben???

Oder kann man den Befehl einfacher gestalten?
PureBasic 4.00 / Anfänger
TomTom
Beiträge: 130
Registriert: 18.10.2006 18:47

Beitrag von TomTom »

so:

DateiName$ = SaveFileRequester(Titel$, StandardDatei$, Pattern$, PatternPosition)

openfile (dateiname$)
deine speicher teile
closefile ()

in dateiname$ steht dan z.B. "c:\Programme\test1.txt"
Benutzeravatar
sebsch80
Beiträge: 53
Registriert: 28.09.2006 20:28
Wohnort: Suhl
Kontaktdaten:

Beitrag von sebsch80 »

@ TomTom

und was geb ich bei Pattern und PatternPosition an?

Oder, was bedeutet das?
PureBasic 4.00 / Anfänger
Benutzeravatar
Frogger
Beiträge: 425
Registriert: 14.03.2006 19:27
Kontaktdaten:

Beitrag von Frogger »

Guck dir die Hilfe zum SaveFileRequester an!
[PB4.20]
TomTom
Beiträge: 130
Registriert: 18.10.2006 18:47

Beitrag von TomTom »

du gibst "SaveFileRequester()" in pb ein, gehst mit deinem Cursor darauf und drückst F1 da steht alles was du damit einstellen kannst.
Benutzeravatar
#NULL
Beiträge: 2238
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

@sebsch80
der savefilerequester speichert nicht etwa was. er dient nur dazu, dem benutzter einen dateinamen auswählen zu lassen (also einen string). den string kannst du dann prüfen, und einer funktion übergeben, die einen string verlangt, der einen pfad bzw. dateinamen enthält.

statt

Code: Alles auswählen

CreateFile (1,"D:\Programme\PureBasic\test.txt")
kannst du schreiben

Code: Alles auswählen

string$=SaveFileRequester("datei auswählen..", "D:\Programme\PureBasic\", "textdateien(*.txt)|*.txt", 0)
if string$
   CreateFile (1,string$)
endif
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
sebsch80
Beiträge: 53
Registriert: 28.09.2006 20:28
Wohnort: Suhl
Kontaktdaten:

Beitrag von sebsch80 »

Vielen Dank an alle.

Jetzt hab ich endlich raus wie das funktioniert. Ich versuch das schon seit 1 Woche und habs bis jetzt noch nicht hinbekommen.
Die Hilfe ist ja schön und gut und ich hatte mir zu diesen Funktionen auch schon alles durchgelesen aber ich wusste nie in welcher Reihenfolge ich die Befehle eingeben sollte.
Jetzt hats tatsächlich geklappt.

Spitze, bin total happy. :allright:

Danke nochmal...
PureBasic 4.00 / Anfänger
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

schön.

dann umreiß das doch nochmal möglichst allgemeingültig...
..dann hilfste allen nubies in der community...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten