Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Вниз

Примерный код(Temp)   Найти похожие ветки 

 
default   (2003-07-03 01:20) [0]

Удалено модератором
Примечание: И что ?


 
default   (2003-07-03 01:27) [1]

Удалено модератором
Примечание: Тихо сам с собою я веду беседу?


 
Юрий Зотов   (2003-07-03 02:23) [2]

Ну, типа, убрали одинаковые строки, навскидку. А в чем вопрос-то?

Если допускается изменение порядка строк, я бы просто использовал TStringList с Sorted и dupIgnore.


 
panov   (2003-07-03 02:24) [3]

А примерный код с работы домой надо на дискетках носить или посылать по почте(можно даже в конверте).


 
default   (2003-07-03 02:53) [4]

panov © (03.07.03 02:24)
извиняюсь, код был предназначен не мне
Юрий Зотов © (03.07.03 02:23)
писал этот код не себе, но вопрос есть
если файл большой к примеру 100 мегабайт
как тогда оптимально решить эту задачу?


 
default   (2003-07-03 02:58) [5]

хотя да, читать кусками файл с диска и всё наверно
так как этот вопрос больше интересует того для кого он писался
пусть он и спрашивает
отвечать не надо
тема закрыта


 
Юрий Зотов   (2003-07-03 03:51) [6]

> default © (03.07.03 02:58)

Не уверен, но можно рассмотреть вариант с CreateFileMapping и работой по указателям. Тогда всю нужную буферизацию и подкачку система сделает сама.


 
XHelp   (2003-07-03 03:56) [7]

Писал - я, и нужно это мне:

создаю StringList, загружаю туда все стринги каторые нужно и делаю:
sl.Sort;
sl.Duplicates:=dupIgnore;

только вот ничего не делаеться... или я не то делаю?

Цель задачи: Отбросить все дубликаты, оставив один выриант, тоесть если есть 5 раз "blabla" то оставить только один раз. Сортировка необязательна.


 
default   (2003-07-03 05:08) [8]

procedure TForm1.Button1Click(Sender: TObject);
var
SL: TStringList;
i: Byte;
begin

SL := TStringList.Create;
SL.Add("bab");
SL.Add("abc");
SL.Add("bab");
SL.Add("bac");
SL.Add("bab");
SL.Add("abc");
SL.Add("bab");

SL.Sort;
if SL.Count <> 0 then begin
Memo1.Lines.Add(SL[0]);
for i := 1 to SL.Count - 1 do if SL[i] <> SL[i - 1] then
Memo1.Lines.Add(SL[i])
end;
SL.Free

end;

можешь сделать навроде этого только строки берёшь из файла и
записываешь не в Memo1.Lines, а в файл
так наверно быстрее всего через TStringList, хотя...



 
ЮЮ   (2003-07-03 06:05) [9]

>создаю StringList, загружаю туда все стринги каторые нужно и делаю:
>sl.Sort;
>sl.Duplicates:=dupIgnore;

1)создаешь StringList
2)делаешь sl.Sorted := true; sl.Duplicates:=dupIgnore;
3)а теперь добавляешь строки, при этом дубликаты добавляться не будут, а результирующий список будет отсортирован


 
Юрий Зотов   (2003-07-03 06:54) [10]

> XHelp © (03.07.03 03:56)

Из справки:

Set Duplicates before adding any strings to the list. Setting Duplicates to dupIgnore or dupError does nothing about duplicate strings that are already in the list.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.07.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
3-55472
Виталий_
2003-06-22 15:35
2003.07.17
Данные в Excel


3-55409
Relaxxx
2003-06-23 16:29
2003.07.17
MultiSelect в DBGrid


1-55654
CAHbI4
2003-07-04 13:49
2003.07.17
Поиск в TListView


14-55735
DenKop
2003-06-30 15:43
2003.07.17
вопрос. unix.


1-55519
prestupnick
2003-07-04 23:03
2003.07.17
проблема CheckBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский