Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2009, 09:12   #1
Mega_lamerok
 
Регистрация: 09.04.2009
Сообщений: 3
По умолчанию Работа с файлом dat

Здравствуйте, вопрос следующий. Мне необходимо создать файл с расширением dat
и записывать туда инфу. из Edit'ов, но загвоздка в том, что что записываться она
должна в определенные позиции, т.е. например Edit1.text(четыре пробела)Edit2.text.
Вот как раз и хотелось бы узнать как установить курсор для записи в определенное
место в файле. Т.е. допустим запись из Edit1 записывается, потом следуюшая запись
из следующего Edit'а записывается в следующей строке в 20 позиции. Может
подскажете, что нужно сделать.Как установить позицию. Если можно киньте код
какой-нибудь простой, где эта проблема решается. Заранее спасибо.
Mega_lamerok вне форума Ответить с цитированием
Старый 09.04.2009, 09:44   #2
Олвин
Экспериментатор
Форумчанин
 
Аватар для Олвин
 
Регистрация: 16.04.2008
Сообщений: 218
По умолчанию

Если не нужно записывать что-то в середину уже существующего файла, значит нужно не "устанавливать позицию", а просто писать в файл дополнительные пробелы или tab'ы. Файл, как я понимаю, будет текстовый? Тогда там никаких "позиций" нет. Только символы.
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
Олвин вне форума Ответить с цитированием
Старый 09.04.2009, 10:58   #3
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

создай какую нить структуру в которую ты будешь помещать инфу с эдитов.. например:
Код:
type
  TMyStryct = record
     Text1:string[255];
     Text2:string[255];
   end;
далше просто переганяешь текст с эдитов в эту структуру и записываешь ее. длинна структуры фиксирована.. и ты всегда легко можешь прочитать ее..
вариант второй.. структура неопределёной длинны:
Код:
type
  TMyStryct = record
     Len1:cardinal;
     len2:cardinal;
     Text1:WideString;
     Text2:WideString;
   end;
в твком случае тебе нада будет кроме самой строки писать еще и ее длинну.. такой вариант более приемлем, так как не накладывает никаких ограничений в размере.. (размер одной строчки может быть 4 с чемто гига..).. только при считывании тебе нада будет следить за позицыей чтения.. и каждый раз учитывать что начало новой записи лежит не на определённом смещении, а прийдётсмя считывать длинны всех строчек до начала нужной.. ну это не сложно.. думаю ты разберешься..
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 09.04.2009, 11:02   #4
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Используйте компонент Memo. Записываете данные из Edit-ов в Memo , используя свойство CaretPos.X и CaretPos.Y - позиция текстового курсора по строкам и в самой строке.А затем уже из Memo сохраняете в текстовый файл. При необходимости редактирования файла - выводите его опять же в Memo и добавляете, редактируете текст. Посмотрите класс TString, а также TStringList для TFileStreem.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 09.04.2009, 11:11   #5
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Извините, не туда пост вставил. Предназначалось для соседней темы " Проблема с сохранением данных"
И не сомневайся даже ... отдых - кайф, работа - лажа!

Последний раз редактировалось DeKot; 09.04.2009 в 11:16.
DeKot вне форума Ответить с цитированием
Старый 09.04.2009, 20:40   #6
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Ничего страшного, он отлично смотрится и здесь. Все в тему, это не плохой вариант.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 10.04.2009, 19:31   #7
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

Можно использовать TStrings и String
aesoem вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с ini файлом workres Общие вопросы C/C++ 5 24.04.2011 22:25
Делфи - работа с файлом Лунатик222 Помощь студентам 8 23.01.2009 22:14
Работа с файлом в C Mishka Помощь студентам 2 22.07.2008 13:28
работа с txt файлом ShenDy Общие вопросы C/C++ 1 08.04.2008 22:55
Работа с текстовым файлом! Edimus Общие вопросы C/C++ 10 19.11.2007 10:31