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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск в текстовых файлах, пара вопросов :hehe 
:(
    Опции темы
Palladin
Дата 23.6.2006, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Дан тесктовый файл в который во время работы программы пользователь вводит различные записи, а одно из них времяsmile
Я ввожу в едит какоето время оно вводится в таком виде 14:42 (допустим), как потом в файле осуществить поиск чтобы все строки в котором время меньше чем это удалились?????? Как удалить знаюsmile только поиск подскажите smile

Допустим время вводится последним в строку файла, вопрос в том как сравнить время??? smile  
 


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
Romikgy
Дата 23.6.2006, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



находишь места где время написано, потом
StrToTime
и сравниваешь время smile 


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

PM   Вверх
Palladin
Дата 23.6.2006, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



что типа нашёл время потом присовил его какомунить X и просто сравнил, допустим так:

X:=strtotime(найденное в файле время)
if x<y then 
и т.д. ???????????????????????????? 


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
Romikgy
Дата 23.6.2006, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



А что смущает? 


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

PM   Вверх
Poseidon
Дата 23.6.2006, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

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



Цитата(RooR @  23.6.2006,  14:45 Найти цитируемый пост)
только поиск подскажите 
 Поиск по тексту лучше всего осуществлять в помощью функции pos, земляк smile
 


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Palladin
Дата 24.6.2006, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Пасейдон помоги земляку своему и воздасться тебе smile  не умею я ей пользоватся я когда то писал что преподаватели мягко сказать идиоты, они ничего незнают в delphi мы учимся по методичкам какого-то минского университетаsmile(( спросить кроме этого форума негде т.к. в группе шарящих людей всего 4 человека со мной, другие получают зачёты просиживанием ж*пы рядом с преподами и поставкой им после этого зачётаsmile((  Вообщем не обучили, а в книге по которой я учу делфу этого нетsmile(( хороший смайликsmile smile  smile  


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
Aleksiem
Дата 24.6.2006, 03:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Пример a-искомоя подстрока, b-строка в которой ищем получаем
i := Pos(a, b); //i - позиция вхождения подстроки a в строку b.
Благодарностей не надо :-) 
PM MAIL ICQ   Вверх
Palladin
Дата 24.6.2006, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



т.е. допустим мне надо что-то найти:
Код

var
s,a:string;
begin
s:='1111 000000 111 00000 111';
a:=edit1.text; //в едите допустим ввели 111
p:=pos(a,s);
edit2.text:=p; //т.е. если я правильно понял в едит2 выведится 111111


это так, неужели так простоsmile

P.S. и где ты был раньшеsmile))))))))) 

Думал тебе плюс кинуть да ты же сказал благодарностей ненадо smile  smile  smile  

Это сообщение отредактировал(а) RooR - 24.6.2006, 10:34


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
Romikgy
Дата 24.6.2006, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



RooR, имхо так как ты написал работать не будет
переменная р это число, а ты его в эдит напрямую кидаешь
вызови справку по 
Цитата(RooR @  24.6.2006,  09:32 Найти цитируемый пост)
pos

 


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

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


Бывалый
*


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

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



Цитата(RooR @  24.6.2006,  10:32 Найти цитируемый пост)
т.е. если я правильно понял в едит2 выведится 111111

Нет, в Edit'е выведется просто 1, то есть позиция, с которой начинается комбинация 111. Чтобы было понятнее, вот пример. В нем я ищу '0000'.
Код

var
  s, a:string;
  p: integer;
begin
  s := '1111 000000 111 00000 111';
  a := Edit1.Text; //в Edit't ввели '0000'
  p := pos(a, s); //ищем '0000'... ага, нашли: такая комбинация цифр начинается с шестой позиции. это число и вернем.
  Edit2.Text := IntToStrp; //как результат - во втором Edit'е написано '6'
 
--------------------
IRC-канал Винграда 
PM MAIL ICQ   Вверх
Aleksiem
Дата 24.6.2006, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Sunr1se @ 24.6.2006,  16:12)
Цитата(RooR @  24.6.2006,  10:32 Найти цитируемый пост)
т.е. если я правильно понял в едит2 выведится 111111

Нет, в Edit'е выведется просто 1, то есть позиция, с которой начинается комбинация 111. Чтобы было понятнее, вот пример. В нем я ищу '0000'.
Код

var
  s, a:string;
  p: integer;
begin
  s := '1111 000000 111 00000 111';
  a := Edit1.Text; //в Edit't ввели '0000'
  p := pos(a, s); //ищем '0000'... ага, нашли: такая комбинация цифр начинается с шестой позиции. это число и вернем.
  Edit2.Text := IntToStrp; //как результат - во втором Edit'е написано '6'

Маленькая описка.
Не InttoStrp а InttoStr(p)
2 ROOR 
Просто эт материал второго урока по программированию на паскале с нуля  smile  smile  
PM MAIL ICQ   Вверх
Palladin
Дата 24.6.2006, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



По поводу уроков читай мой пост вышеsmile)))) вообщем понятно функция pos найдёт лиш номер с которого начинается комбинация, будем чёнить пробовать smile  


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
Sunr1se
Дата 24.6.2006, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Я так понял, тебе надо следующее:
есть две строки. в первой, скажем, 14:20, во второй - 15:55. Надо их сравнить. Так?
Если так, то вот функция, которая сравнивает smile
Код

function CompareTime(Time1, Time2: string): integer;
var
  Hour1, Hour2, Minute1, Minute2: string;
begin
  Hour1 := Time1[1] + Time1[2];
  Hour2 := Time2[1] + Time2[2];
  Minute1 := Time1[4] + Time1[5];
  Minute2 := Time2[4] + Time2[5];
  if (Hour1 > Hour2) or ((Hour1 = Hour2) and (Minute1 > Minute2)) then
    Result := 1
  else
    Result := 2;
end;

Если больше Time1, то функция возвращает 1. Если больше Time2, то она возвращает 2.
Писал навскидку, поэтому реализовано далеко не самым лучшим способом. 
--------------------
IRC-канал Винграда 
PM MAIL ICQ   Вверх
Palladin
Дата 24.6.2006, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Спасибо smile  

Это сообщение отредактировал(а) RooR - 24.6.2006, 19:19


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
Sunr1se
Дата 24.6.2006, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



RooR, еще один вариант:
Код

function CompareTime(Time1, Time2: string): integer;
var
  Time1Real, Time2Real: real;
begin
  Delete(Time1, 3, 1);
  Delete(Time2, 3, 1);
  Insert(',', Time1, 3);
  Insert(',', Time2, 3);
  Time1Real := StrToFloat(Time1);
  Time2Real := StrToFloat(Time2);
  if Time1Real > Time2Real then
    Result := 1
  else
    Result := 2;
end;
 
--------------------
IRC-канал Винграда 
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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