| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Сохранить Edit1 и Edit2... |
| Автор: Des666 5.12.2006, 15:18 | ||
Вот код сохранения
А как теперь загрузить при открытии программы эти UIN.text, Pass.text? |
| Автор: Albinos_x 5.12.2006, 15:30 | ||
можно аналогично...
|
| Автор: x77 5.12.2006, 15:34 | ||
это всё хорошо..... но допустим, что UIN.Text = '1234567', Pass.Text = '7654321', соответственно в файле на диске мы получим замечательную строчку: 12345677654321. как потом предполагается разбираться, где UIN, а где пароль? надо, как минимум, писать двумя операторами WriteLn, по отдельности, а по большому счёту лучше использовать TIniFile. |
| Автор: Des666 5.12.2006, 16:01 | ||
Вот так пишу в чём ошибка?
Albinos_x, И что это за строка? Reset(..); |
| Автор: Romikgy 5.12.2006, 16:04 |
| имхо только лучше раздилять переводом строки |
| Автор: Des666 5.12.2006, 16:18 | ||
| Albinos_x, Нет UIN никак фиксированным быть не может
никак немогу понять с этими файлами как работать |
| Автор: x77 5.12.2006, 16:32 | ||
более корректный вариант использовать Names, т.е. хранить в виде "UIN=PASSWORD", благо TStrings позволит обработать строку автоматически, но тут могут быть грабли в том, что Password'у никто не запрещает содержать знак "=". код не тестил - занят по работе |
| Автор: Des666 5.12.2006, 16:40 |
| Пишет несовпадение типов tedit и tstring вот тут Uin := sl [0]; //---------------------- Извините тупанул А как сделать чтобы он ошибку не выдавал при открытии если файла uin.lst нету? |
| Автор: x77 5.12.2006, 16:53 | ||
Des666, можно проверить:
|
| Автор: Des666 5.12.2006, 17:05 | ||
Вот так пишу опять ошибка
|
| Автор: x77 5.12.2006, 17:08 | ||
|
| Автор: Des666 5.12.2006, 17:13 |
| Так же пишет при открытии "неудаётся найти такой то файл" =( |
| Автор: x77 5.12.2006, 17:15 |
| Des666, не может быть |
| Автор: Des666 5.12.2006, 17:21 |
| x77, Да брат ты прав, я накосячил снова с кодом.... |
| Автор: Albinos_x 5.12.2006, 18:08 | ||
открытие для чтения... открыть для чтения забыл... и записывать нужно тогда как говорил x77, или разделитель брать указанный Romikgy - #13 неверный тип: нужно так:
тогда проблем возникать не будет... потому, что он у тебя фактически сохраняется в неизвестность... нужно при записи и чтении указывать полный путь к файлу... решится куча проблем |
| Автор: x77 5.12.2006, 18:34 | ||||
Albinos_x, не совсем так.
а их и сейчас не возникает, поскольку создаётся sl через TStringList. дело не в этом ;)
а полный путь и указывается |
| Автор: Albinos_x 5.12.2006, 19:10 | ||
это про чтение... а я про запись...
дело не в этом, но... TStrings - это ссылки на строки(объекты), а TStringList - массив строк... поэтому возможна утечка памяти, т.к. когда сделаешь free ссылки очистятся... а объекты/строки останутся... тогда и смысл использования в TStrings в TStringList нет, тогда уж проще сделать TString.Create... |
| Автор: x77 5.12.2006, 19:17 | ||
Albinos_x, не совсем согласен про утечку... поскольку TStrings создаётся как TStringList, то и деструктор будет вызываться "родной", т.е.
который благополучно всё вычистит. а объявлять список именно как TStrings - это просто хороший тон, так этот класс будет приводим к любому потомку TStrings, которых в VCL великое множество. но в принципе - это всё уже детали... про запись - не могу сказать, потому что авторского кода, отвечающего за запись файла, я не видел. Добавлено @ 19:18 З.Ы. TStrings.Create, кстати, делать нельзя - этот класс содержит абстрактные методы. |
| Автор: Albinos_x 5.12.2006, 21:14 | ||||
| во блин... допрограммировался... глюки так из меня и лезут... да... точно...я этот момент упустил... free вызовет:
который вызовет нужный деструктор...
он пример в начале приводил... |
| Автор: gambit 8.12.2006, 20:04 |
| Я понимаю что тема старая но всеже. А не легче объявить новый тип занести в него значения полей а потом записать??? |