PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Как вписывать в файл


Как вписывать в файл

Сообщений 1 страница 5 из 5

1

Смотрите, у меня есть файл текстовый. В окошке программы находится СтрингГаджет, растянутый почти на всю страницу. Под ним кнопка. Если мы заполняем окошко (необязательно до конца), и нажимаем на кнопку, то в файл текстовый вписывается инфа. Как это сделать?

Если можно еще, то как это сделать, но с создаваемым файлом? И еще, как сделать так, что-бы эти файлы могли до бесконечности нумероваться? Например: State1, State2, State3 и т.д.

Отредактировано OPBR (15.09.2012 08:15:14)

0

2

Если для многострочного ввода, то лучше брать EditorGadget(). Содержание поля можно взять используя

Код:
String$ = GetGadgetText(#Gadget)

Примеры есть в справке. Загляни в раздел Файлы.
Ещё не лишним будет раздел Свойства.

0

3

OPBR написал(а):

как сделать так, что-бы эти файлы могли до бесконечности нумероваться? Например: State1, State2, State3 и т.д.

Если я правильно понял задачу, то вот пример

Код:
i=1
NameMask.s="File"

While ReadFile(i, NameMask+Str(i))
  CloseFile(i) 
  i+1
Wend

If CreateFile(i, NameMask+Str(i))
  WriteStringN(i, "Текст в файле "+Str(i))
  CloseFile(i)
EndIf

Вообще, способ создания множества файлов зависит от конкретной задачи. Можно связать имя файла с датой и временем, или же вовсе использовать оператор Random()

Отредактировано Тигрёнок (17.09.2012 23:28:12)

0

4

Все равно не записывается.

0

5

OPBR написал(а):

Все равно не записывается.


Эх, дядька сейчас красивую программу напишет :cool:

Код:
Enumeration
  #Window_0
EndEnumeration
;}
;{ Gadgets
Enumeration
  #String_0
  #Button_1
EndEnumeration
;}
Define.l Event, EventWindow, EventGadget, EventType, EventMenu
;}

Procedure SaveText()
  Static i.l
  If CreateFile(0, "c:\File_N"+Str(i)+".txt")
      i+1
    WriteString(0, GetGadgetText(#String_0))
    CloseFile(0)
    ; Если не надо стирать, то эту строку убрать!
    SetGadgetText(#String_0,"")
    MessageRequester("Успех!","Строка записана в файл: "+ "C:\File_N"+Str(i)+".txt")
  EndIf
  
EndProcedure



Procedure OpenWindow_Window_0()
  If OpenWindow(#Window_0, 477, 168, 568, 200, "Window_0", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
      StringGadget(#String_0, 5, 20, 550, 20, "")
      ButtonGadget(#Button_1, 10, 155, 150, 25, "Запись в файл")
  EndIf
EndProcedure

OpenWindow_Window_0()

;{- Event loop
Repeat
  Event = WaitWindowEvent()
  Select Event
    ; ///////////////////
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
      If EventGadget =#Button_1 
        If Len(GetGadgetText(#String_0))
          SaveText()
        Else
          MessageRequester("Внимание!","Строку надо заполнить!")
        EndIf
      EndIf
    ; ////////////////////////
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If EventWindow = #Window_0
        CloseWindow(#Window_0)
        Break
      EndIf
  EndSelect
ForEver
;
;}

Недостаток сей программы один - при выходе она нумерацию файлов начнет сначала.

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Как вписывать в файл