Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Маша сильно болеет туберкулезом.


Страницы:   1 2 3 4

Антон К. ©   (2002-09-19 20:02:00) 

Вопрос такой.
Есть к примеру строка: Маша сильно болеет туберкулезом.
Нужно из этой строки вытащить все слова и вставить их в listbox этаким списком. Т.е в listbox выглядеть это должно так:

Маша
сильно
болеет
туберкулезом.

Как такое сделать, а? И очень желателен исходник!

Еще вопрос. Почему pos(), реагирует на Регистр и возможно ли это как то изменить. К примеру код

i:=pos("маша","Маша сильно болеет туберкулезом.") не найдет ничего, т.е i будет равно 0, а вот
i:=pos("Маша","Маша сильно болеет туберкулезом.") укажит цифру 1, т.е в принципе найдет искомое слово Маша. Видимо это функция запрограмированна на учет регистра, тогда как же узнать, что определенное слово есть в строке без учета регистра? Какая есть альтернатива Pos?


Val   (2002-10-02 21:48:00) [1]

>Shrek © (20.09.02 19:00)
мне про БД поравилось :)
Вы с ними работали?


sancho   (2002-10-02 21:20:00) [2]

Бедная Маша.... Болеет туберкулёзом да ещё парень её бросил. :(((


Парень   (2002-09-30 18:54:00) [3]

А Маша между прочим была моей первой девушкой...


Anatolyk   (2002-09-30 14:23:00) [4]

и еще ...
//при записи в файл - все ОК
tmpstr := pchar(s);
CharToOEM(tmpstr,tmpstr);
WriteLn(CfgFileVar,tmpstr);


Anatolyk   (2002-09-30 14:17:00) [5]

A без второй переменной?


Polevi   (2002-09-30 12:51:00) [6]

2Anatolyk (30.09.02 12:27)
под второй параметр надо в 2 раза больше памяти, она у тебя не выделена вот так легенды про глючные Delphi 6 и рождаются


Anatolyk   (2002-09-30 12:27:00) [7]

Народ, Ша! И в правду, оставьте бедную девочку - пусть болеет как умеет.

Лучше подскажите, почему D6 глючит в такой ситуации (как правильно написать?):
Приложение консольное.
Хочу writeln-ом написать строку по-русски.
Как только перед этим делаю CharToOEM(S,S) - ругань, сказки про неверные адреса, якобы user.dll не такой и пр.


Туберкулез   (2002-09-29 22:30:00) [8]

Хорош болтать!
Не мешайте нам с Машей.
И свет погасите.


Smiths   (2002-09-29 17:23:00) [9]

Бедная Маша... :)


Drin   (2002-09-29 13:03:00) [10]

2Smithson

Не заставить человека ПРИДУМАТЬ алгоритм, а развить его способности, научить его думать в нужном направлении.


Smithson   (2002-09-27 12:01:00) [11]

2 Drin

И толку?!! Я тоже так учился, только все, что нам давали в институте, в жизни на надо вообще. А если ты пытаешься привести пример, как можно заставить человека ПРИДУМАТЬ алгоритм, то я тебе скажу - заставить придумывать нельзя! Придумывать человек или умеет, или нет. И тогда он лазит по форумам с вопросом "как сложить 2 и 2".

2 Zemal

По-моему, умение написать свой алгоритм гораздо более ценно, чем умение найти нечто похожее в Help`е. К тому же у людей бывают разные конструкции голов. И это не наезд - мне доводилось заниматься поддержкой mainframe IBM, так вот что я скажу - за такие инструкции (пошаговые, для тупых) - убил бы, если б поймал. Ну по разному мы с автором инструкций мысли и термины разные у нас для одних и тех же вещей были... Это я к тому, что поиск в Help порой может быть весьма нетривиальной задачей для человека, привыкшего другой структуре мышления...

Sorry за offtopic, тут тема такая, болтливая....


Маша   (2002-09-27 11:09:00) [12]

Ну вы блин даёте.....


Толик   (2002-09-27 09:53:00) [13]

Маша, как Ленин - не умрёт никогда!!!


Drin   (2002-09-26 22:16:00) [14]

2Shrek
Правильно, что-бы корректно и правильно научится писать приложения на Делфи нужно изучить Паскаль, Обжект-Паскаль и только тогда приступать к изучению языков более высокого уровня!
А главное развить в себе алгоритмичесскую логику!
Я вот учусь на II курсе в "КПИ", так ещё на I курсе, на втором уроке программирования нам дали задание нарисовать блок-схему решения квадратного уровнения, где такие вещи как sqrtне проходят, алгоритм выведения квадратного корня придумывайте сами! А на втором семестре мы писали программы не испольсуя языков-трансляторов, а используя HEX-редактор, вот так вот.


MaratFromTomsk   (2002-09-23 07:46:00) [15]

Про решение задачи
"Нужно из этой строки вытащить все слова и вставить их в listbox этаким списком."

Во первых тут две задачи
1. строку разделить на слова
2. добавить слово в список

У меня тут возникают вопросы и ответы:
Cлово = последовательность сиволов между одним и более разделителей.
Разделитель = табуляция, перевод строки, точка, запятая, точка с запятой и т.д.
надо ли извлекать разделители вместе со словом?
скорее всего нет.

const Delimeters = [#8, #10, #13, #32, ".", ";"];

function GetWord(var p: PChar): string;
begin
// пропустить разделители
while p^ in Delimeters do inc(p);
result := "";
// пока не встретился разделитель
while not(p^ in Delimeters) do begin
inc(p);
result := result + p^;
end;
end;

procedure InsertWordsFromLineToHell(const s: string);
var
p: PChar;
word: string;
begin
p := PChar(s);
repeat
word := GetWord(p);
if word <> "" then Hell.Add(word);
until s = "";
end;

Обычно в таких задачах где нужно выделять слова, надо делать и другие вещи.

Ужасно не люблю спагетти, где все так перепуано.
Нужно отделять как показывать, от того что показывать
и какие преобразования необходимо при этом выполнять.

Есть патерн Observer. Модель - представления модели.
Модель это данные, например таблица
Представления - Grid, Chart и т.д.

ну я уже уплыл в сторону ....

а про то что StringList стал круче приятно узнать
вот уже Delphi 7 появилась
я к сожалению еще на Delphi 5


Vlad1   (2002-09-22 12:16:00) [16]

>To Zemal
В общем согласен! Но нельзя забывать и об ошибках в Хелпах (ведь бывают!).


Сергей Медяник   (2002-09-20 22:49:00) [17]

К сожалению, иногда сложно выбрать: потратить X времени на самостоятельный, неказистый, но работающий алгоритм ИЛИ потратить Y времени на поиск того, как это делается просто и красиво. Что меньше X или Y никогда не узнаешь заранее! Пока не изобрели способов загружать непосредственно в память человека HELP к языку, приходится довольствоваться чтением, а это занимает реальное, предоплаченное время :-)
Не стОит обижать человека, если он предлагает свой способ, на который он затратил X времени. Все-таки форум - обмен мнениями, а не истина в высшей инстанции.

P.S. Передавайте привет Маше!


AndreyS   (2002-09-20 19:09:00) [18]

Какая, однако, живучая Маша оказалась, хотя и сильно болеет туберкулезом.
Никого не хотел обидеть. Просто шутка.


Shrek   (2002-09-20 19:00:00) [19]

To Zemal
Програмист должен знать и уметь всё, только тогда он будет програмистом. Я думаю что перед тем как использовать автомобиль Ты должен изобрести вилосепед вот только тогда ты будеш понималь как работает автомоль, и даже может быть сможеш создать свой автомобыль и даже не один.
Тоесть и за TString и за цыкл.
Прышлушаемся к qube: розвиватся надо, хотябы только по тому чтоби не забуть паскаля.
Я заметил что на этом форуме сильно ценится asm а для чего?
Если я буду использовать только TString я буду програмистом который умеет хорохо обращатся с мышкой.
Посмотрыте как делаются БД, можно создать полностю работоспасобною програму не написаф не строки кода, и фиг я буду знать и как там всё это работает. И скажите что я програмист после такого.

Если так пойдёт и дальше то внедалёком будущем например Делфи 10, програмист создаёт програму: говорит в микрофон "Создать новою базу даних с такими полями ... Окомпилировать!"
Я не имею ничего против такого так как оно скоро будет, но тогда я хрен буду знать что такое цыкл.

P.S.Скольно людей столько и мыслей.


Zemal   (2002-09-20 18:30:00) [20]

Антон К. >> Да тут уже и не про твой вопрос полемика идёт :). Тут уже часть форума "Потрепаться". :) Ту молодец, задавай вопросы и запоминай ход мысли. Рости! Удачи!


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо