![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
прошу помощи, скачал в интернете пример загрузки текста из файла, уже сутки ломаю голову как правильно записывать текст в файл из которого загружается, у меня либо совсем ничего либо непонятные иероглифы,перечитал кучу статей всеравно ничего не выходит
вот скрин скрипта, и исходник даю на всяк случай http://pikucha.ru/i6Xsh исходник если посмотреть на скрин то там видно что чтение текста идет из файла C:\1.db сам файл отсутствует мои попытки создать его ни к чему не привели. начитавшись литературы я понял формат файла не играет роли, информация в базе должна быть в вот таком виде Код:
country= 'Россия' sport= 'Футбол' person= 'Пупкин' kind= 'Золото' |
|
#2
|
|||
|
|||
|
file of TMedal - типизированный файл, инфы по ним много
assign, rewrite, write... |
|
#3
|
||||
|
||||
|
Писать в такой файл надо почти так-же, как и читать.
Код:
AssignFile(f, 'c:\1.db'); Rewrite(f); Rec.Country := 'Италия'; Rec.Sport := 'Баблап'; Rec.Person := 'Казанова'; Rec.Kind := Gold; Write(f, Rec); CloseFile(f); |
|
#4
|
|||
|
|||
|
что то не получается серавно не загружает
|
|
#5
|
|||
|
|||
|
спасибо разобрался
и еще по ходу дела вопрос, как заделать чтоб не затирало предыдущую запись а добавлялась новая строчка ? Последний раз редактировалось hamik, 10.11.2011 в 21:22. |
|
#6
|
||||
|
||||
|
Не используй Rewrite.
|
|
#7
|
|||
|
|||
|
Цитата:
|
|
#8
|
|||
|
|||
|
Нет, Rewrite вам пересоздает файл с нуля, что бы писать в конец используйте Append(f), но сначала проверяйте, существует ли он у вас. Что-то вроде:
Код:
AssignFile(f,'c:\1.db');
if FileExists('c:\1.db') the
Append(f)
else
Rewrite('c:\1.db');
//Теперь записываете в файл с помощью Write(f,ваша запись);
CloseFile(f); |
|
#9
|
|||
|
|||
|
еще вопрос, вот по поводу этой части кода
Код:
country:string[20]; sport:string[20]; person:string[40]; Код:
country:string[20]; sport:string[250]; person:string[250]; |
|
#10
|
||||
|
||||
|
Что то я не понял, где и что вычитал. "Нормальный" стринг может загрузить, если не путаю, 2Гб, а строка со скобками првращается в ShortString, максимальный объём такой строки 255 символов. Число в скобках - максимальное число загружаемых байт.
|
|
#11
|
|||
|
|||
|
Цитата:
Учти, что если в файл записал с вот такими папаметрами, Код:
country:string[20]; sport:string[20]; person:string[40]; Код:
country:string[20]; sport:string[250]; person:string[250]; ![]() |
|
#12
|
|||
|
|||
|
Цитата:
вот что у меня Код:
AssignFile(f, 'c:\1.db');
if FileExists('c:\1.db') then
Append(f)
else
Rewrite('c:\1.db');
Rec.Country := Edit1.Text;
Rec.Sport := Memo1.Text;
Rec.Person := Memo2.Text;
CloseFile(f); |
|
#13
|
||||
|
||||
|
1. Интересно, а вот если файл уже есть. Вы куда без его открытия собираетесь писать? (AssignFile() - файл не открывает. У него другое назначение.)
2. Вот вы заполняете структуру Rec данными. А зачем собственно? Последний раз редактировалось Страдалецъ, 11.11.2011 в 18:29. |
|
#14
|
|||
|
|||
|
Цитата:
|
|
#15
|
||||
|
||||
|
По идее вот эта:
Цитата:
![]() |