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

Вниз

Как разбить строку по разделителю ""   Найти похожие ветки 

 
WebSqlNeederr   (2006-05-22 12:52) [0]

например есть строка, как мне из нее сделать массив, элементами которого был бы текст из строки, который разделяется в ней пробелом?

Понимаю что это глупый вопрос, но вот что заступорился :)


 
Сергей М. ©   (2006-05-22 12:59) [1]

sl: TStringList;
arr: array of String;
..
sl.Delimiter := " ";
sl.DelimitedText := "Строка с пробелами";
SetLength(arr, sl.Count);
for i:= 0 to Length(arr)-1 do
arr[i] := sl[i];


 
WebSqlNeederr   (2006-05-22 13:14) [2]

Не работает, пишет Acces violetion ...


 
WebSqlNeederr   (2006-05-22 13:15) [3]

Ошибка на сколько я понял здесь arr[i] := sl[i];


 
Сергей М. ©   (2006-05-22 13:15) [4]

sl должен указывать на существующий объект класса TStringList


 
Плохиш ©   (2006-05-22 13:16) [5]


> WebSqlNeederr   (22.05.06 13:14) [2]
> Не работает, пишет Acces violetion ...

Тогда напиши вместо .. следуюшее sl := TStringList.Create и задавай свои вопросы в конференции "Начинающим"!


 
Сергей М. ©   (2006-05-22 13:17) [6]


> Ошибка на сколько я понял здесь


Интересен ход твоих мыслей при этом умозаключении ..


 
MBo ©   (2006-05-22 13:17) [7]

sl создал?


 
Fay ©   (2006-05-22 13:19) [8]

LOL


 
WebSqlNeederr   (2006-05-22 13:20) [9]

Протупил :) Спасибо за помощь!


 
WebSqlNeederr   (2006-05-22 13:31) [10]

А как быть с переносами на новую строку? В общем у меня есть статистика помещения моего сайта, она составлена в таком вот формате, пример

2006-05-19 09:51:28 http://www.menshealth.kiev.ua/q.php 22739 0 73.96.199.82
2006-05-19 09:44:33 http://www.ofoto.com.ua/ru/ 32569 0 230.128.153.194
2006-05-19 08:53:47 http://ref.a.org.ua/?id=217472 25218 0 118.41.40.212

Когда я пытаюсь во второе мемо вывести только урлы то получается сделать для всех кроме тех у кого длинный урл и он переновится на новую строку, пример моего кода:

procedure TForm1.Button2Click(Sender: TObject);
var sl: TStringList; i,j:integer;
begin
 for j:=0 to memo1.Lines.Count-1 do
 begin
   sl:=TStringList.Create;
   sl.Delimiter := " ";
   sl.DelimitedText := memo1.Lines.Strings[j];
   Memo2.Lines.Add(sl[2]);
   sl.Destroy;
 end;
end;

В мемо1 я закидываю ту общую статистику и вот обрывается вывод когда строка например :

http://infostore.org/search?s=%D0%A0%D1%96%D1%88%D0%B5%D0%BD%D0%BD%D1%8F+%D0%9A%D0%B8%D1%97%D0%B2%D1%80%D0%B0%D0%B4%D0%B8+%E2%84%96+164%2F885+%D0%B2%D1%96%D0%B4+08.06.2000+%D1%80.&type=0&flag_files=1 23379 0 50.251.64.195


 
WebSqlNeederr   (2006-05-22 13:33) [11]

Ошибка List index out of bounds (2)


 
Сергей М. ©   (2006-05-22 13:38) [12]

URL не может содержать пробелы.


 
Плохиш ©   (2006-05-22 13:39) [13]

У Memo1 надо установить свойство WordWrap в FALSE.


 
WebSqlNeederr   (2006-05-22 13:55) [14]

Плохиш, спасибо. Действительно WordWrap в FALSE нужно было ...


 
WebSqlNeederr   (2006-05-22 14:00) [15]

А еще может кто то уже такое делал - как из урла оставить только домен? например http://ref.a.org.ua/?id=217472  оставить только http://ref.a.org.ua ??

Хочу узнать сколько совпадений по доменам у меня в статистике есть ...


 
WebSqlNeederr   (2006-05-22 14:30) [16]

..


 
Сергей М. ©   (2006-05-22 14:31) [17]

sl.Delimiter := "\";

sl[2]


 
WebSqlNeederr   (2006-05-22 15:39) [18]

А как мне проверить сколько совпадений есть в списке доменов в моем Стринглисте? Я вот составил код, но он что то коряво работает :(

procedure TForm1.Button3Click(Sender: TObject);
var i,j:integer;
begin
 for i:=0 to urls2.Count-1 do
 begin
   for j:=0 to i-1 do
   begin
     if urls2.Strings[j]=urls2.Strings[i] then
     begin
       urls2.Strings[i]:=urls2.Strings[i]+" +1 совпадение";
       //urls2.Delete(i);
       break;
     end;
   end;
 end;
 memo2.Text:=urls2.Text;
end;

В urls2 хранятся сами домены.


 
Ega23 ©   (2006-05-22 16:07) [19]

Эка ты фонтанируешь!


 
WebSqlNeederr   (2006-05-22 16:14) [20]

Удалено модератором
Примечание: Создание пустых сообщений


 
WebSqlNeederr   (2006-05-22 18:11) [21]

Удалено модератором
Примечание: Создание пустых сообщений


 
WebSqlNeederr   (2006-05-22 18:48) [22]

Удалено модератором
Примечание: Создание пустых сообщений


 
WebSqlNeederr   (2006-05-23 02:04) [23]

Удалено модератором
Примечание: Создание пустых сообщений


 
WebSqlNeederr   (2006-05-23 09:50) [24]

Удалено модератором
Примечание: Создание пустых сообщений


 
Сергей М. ©   (2006-05-23 09:56) [25]


> Ни у кого нет никаких идей?


Идея тут одна - не допускай дублирования строк в стринглисте, тогда и проверять ничего не нужно будет.

см. св-во TStringList.Duplicates



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

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

Наверх





Память: 0.5 MB
Время: 0.015 c
15-1147259190
Mike Kouzmine
2006-05-10 15:06
2006.06.11
Слушали послание Путина?


2-1148210007
Мурзилка
2006-05-21 15:13
2006.06.11
размеры формы


6-1139143610
Интересующийся
2006-02-05 15:46
2006.06.11
Организация Broabcast для TClientSocket


15-1147774944
ilya39
2006-05-16 14:22
2006.06.11
R:Base


2-1148531797
vidiv
2006-05-25 08:36
2006.06.11
Дайте пожалуйста простой пример работы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский