Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вернуть курсор в начало строки 
:(
    Опции темы
ACMilian
Дата 18.9.2006, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



Как вернуть курсор на начало текущей строки?
PM MAIL ICQ   Вверх
Alexeis
Дата 18.9.2006, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



ACMilian, Это в мемо что-ли
Код

memo1.selStart := 0;



Это сообщение отредактировал(а) alexeis1 - 18.9.2006, 17:27


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ACMilian
Дата 18.9.2006, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



Читается файл. И прочитав, строку до определённого момента, нужно вернуть курсор на начало текущей строки.
PM MAIL ICQ   Вверх
Alexeis
Дата 18.9.2006, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



ACMilian, в файле нет курсора, только файловый указатель. Он имелся ввиду?

Добавлено @ 17:30 
Каким образом производится чтение из текстового файла?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ACMilian
Дата 18.9.2006, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



Код

AssignFile( t, fname );
Reset( t );
...........
here:
begin
       New( i );
       i^.h := GetNextTerm( s );
       i^.h := StringReplace(i^.h, ',', DecimalSeparator, []);
       i^.h := StringReplace(i^.h, '.', DecimalSeparator, []);
         p :=@b2;
         b2 := StrToInt(i^.h);
       i^.v := GetNextTerm( s );
       i^.v := StringReplace(i^.v, ',', DecimalSeparator, []);
       i^.v := StringReplace(i^.v, '.', DecimalSeparator, []);
         p :=@b;
         b := StrToFloat(i^.v);
       SCalList.Add( i );
........
 While b <= c do
      begin
         b := b + e;
         i^.v := FloatToStr(b);
         //i^.h := GetNextTerm( s );
         SCalList.Add( i );
      end;
        Dispose(i);
       goto here;

И после возвращения к бегину, нужно прочитать строку с начала.
PM MAIL ICQ   Вверх
Alexeis
Дата 18.9.2006, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Только reset и возврат к началу файла.

Добавлено @ 17:47 
ACMilian, вообще в этом мало смысла обычно текстовый файл грузят в stringlist и там производят все операции.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
ACMilian
Дата 18.9.2006, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



Но мне нужно именно таким способом. Неужели нет никакого способа в начало строки вернуться или хотя бы на строку вверх подняться? smile  
PM MAIL ICQ   Вверх
Alexeis
Дата 18.9.2006, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



ACMilian, можно только файл должен быть открыт не в текстовом режиме.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Matematik
Дата 18.9.2006, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 17
Всего: 50



Можно. Или копаться во внутренней структуре TTextRec(t).*.
Или Запоминать на какой строке находишся в переменнуюReset(t) и циклом readln(t) переменная-1. Второй вариант проще

Добавлено @ 22:06 
PS 
Зачем такие замарочки? Может стоит пересмотреть реализацию
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 18.9.2006, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Matematik @  18.9.2006,  22:05 Найти цитируемый пост)
Можно. Или копаться во внутренней структуре TTextRec(t).*.

Это уже будет мало похоже на работу с текстовыми файлами. В этом случае проще вообще отказатся от работы с файлами как с текстовыми. Что касается 2 то это сброс на начало файла а не строки со всеми вытекающими последствиями



--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Yanis
Дата 19.9.2006, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



ACMilian
Этого нельзя сделать.

Добавлено @ 13:08 
Придётся ипользовать метод, который предложил Matematik. С запоминанием номера строки...


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 19.9.2006, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



а если перед этим запоминать положение в файле ?
Цитата(ACMilian @  18.9.2006,  16:35 Найти цитируемый пост)
here:


или я не понял правильно ?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ACMilian
Дата 19.9.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 5.9.2006
Где: Беларусь

Репутация: нет
Всего: нет



В файле четыре столбца:  
высота(см)  объём(м3)  Кэф. вместимомости   Погрешность
    0              0.093                  0.003                       -
    1              0.123                  0.003                       -
    2              0.155                  0.004                   1.557
    3              0.191                  0.005                   1.361
    4              0.238                  0.004                   1.207
.............и т.д.
В каждой строке нужно только читать только первые два столбца,
и водить писать в базу высоту в мм, а объём по мм брать.
Для этого читаю сразу две строки, считаю разницу, делю на десять..., а потом нужно вернуться в начало второй считанной строки, опять читать две строки и по кругу.  
here всего лишь возвращает к бегину.
 smile 
PM MAIL ICQ   Вверх
Romikgy
Дата 19.9.2006, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



тогда можно сделать так создаешь массив из 2 строк,
допустим var sx: array [0..1] of string; или через TStringList, суть не в этом
читаем из файла первую строку
sx[0]:=1 строка 
sx[1]:= 2 строка 
обработал
и дальше читаешь уже в 
sx[0]:= 3 строка
обработка
далее sx[1]:=4 строка 
и т.д.
надо вести только учет индексов куда писать в 0 или в 1


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Alexeis
Дата 19.9.2006, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(ACMilian @  19.9.2006,  15:42 Найти цитируемый пост)
вернуться в начало второй считанной строки, опять читать две строки и по кругу. 

Зачем же возвращатся не проще ли переприсвоить значения из переменных нижней строки в переменные верхней и считать только одну, следующую сторку.

Это сообщение отредактировал(а) alexeis1 - 19.9.2006, 16:26


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0943 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.