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

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

строки.... [D7, XP]


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

Steep ©   (2008-02-11 23:06:00) 

суть такая берем первый Memo (текст примерно такой):

Linkin Park, Era, Ария, Evanescence, Limp Bizkit, DMX, 50 Cent, Slipknot, Nightwish,
Rammstein, Enya, Papa Roach, Король и Шут, Blink 182, Apocaliptica, Benny Benassi,
Alizee, Nickelback, Nirvana, Powerman 5000, The Black Eyed Peace, Наив,
Cranberries, Moby, Ludacris, Tokia Hotel, Three Days Grace, Nelly Furtado, Metallica,
HIM, Prodigy, Brainstorm, Tiga, KoRn, Green Day, 666, Город 312, Roxette, Jay-Z, Rob
Zombie, Flipsyde, Justin Timberlake, Сплин, Дельфин, Timbaland, placebo, zdob si
zdub, Paul Van Dyk, all american rejects, Guano Apes, Lordi, Lost prophets, Rihanna,
Global Deejays, Die Apokalyptischen Reiter, Пилигрим, Легалайз, Morcheeba, Akon,
Pink, Bob Sinkler, Gregorian, The Killers, Fort Minor


потом ищем до запятой копируем в Memo2 вроде бы все работает
НО почемуто после некоторых названии в Memo2 появляются пустые строки...
например после: Nightwish, Benny Benassi, Наив, Metallica и тд.

код сканирование текста

procedure TForm1.Button1Click(Sender: TObject);
var
 AllText: string;
 x: boolean;
 tmp: string;
 tmppos: integer;
begin
 x := false;
 AllText := Memo1.Text;
 repeat
 tmppos := pos(', ', AllText);
 if tmppos<>0 then
   begin
       //Showmessage(AllText);
     tmp := copy(AllText, 1, tmppos-1 );
       //Showmessage('tmp: ' + tmp);
     Memo2.Lines.Append( tmp );
     delete(AllText, 1, tmppos+1 );
       //Showmessage(AllText);
   end
 else x := true;
 until x
end;


как недопустить их появления? в чем может быть ошибка?


Anatoly Podgoretsky   (2008-02-12 22:37:00) [1]

> {RASkov}  (12.02.2008 22:03:04)  [64]

Конечно, все переписаны


{RASkov}   (2008-02-12 22:03:00) [2]

> [63] Anatoly Podgoretsky ©   (12.02.08 20:50)
> Если я тебе скажу, то ты или испугаешься, или обидишся.

Да вот еще... :)

> Но я тебе скажу волшебное слово - гугл.

Сегодня число иезуитов составляет 19 216 человек (данные 2007 года), из них 13 491 священников.
Фикасе.... их всех в лицо знают :)


Anatoly Podgoretsky   (2008-02-12 20:50:00) [3]

> {RASkov}  (12.02.2008 14:40:02)  [62]

Если я тебе скажу, то ты или испугаешься, или обидишся.
Но я тебе скажу волшебное слово - гугл.


{RASkov}   (2008-02-12 14:40:00) [4]

> [52] Anatoly Podgoretsky ©   (12.02.08 08:37)
> иезуит

А это кто? ...или что


ketmar   (2008-02-12 14:37:00) [5]

>[60] Игорь Шевченко © (2008-02-12 14:28:00)
отчего же? совмещается. никаких разногласий не вижу. лично я вполне в курсе, откуда берётся этот эффект и как его решать. и точно так же, как в курсе — так мне на это и наплевать, у моих заказчиков не было неанглийских раскладок. для себя чинил когда-то в home-made проектах, но там и VCL никакой не светилось (хотя использовались *A-варианты функций). а сейчас мне вообще по-барабану, что там в винде через как сделано, потому и цену накатил большую: есть другая работа, но лично для тебя, как проявление уважения, готов от неё отвлечься; чтобы окупить простой — пришлось цену задрать.

---
Understanding is not required. Only obedience.


Игорь Шевченко   (2008-02-12 14:28:00) [6]

ketmar ©   (12.02.08 13:37) [57]


> а в чём проблема моих решения? они нереализуемы? реализуемы,
>  и причём именно так, как ты сказал — достаточно будет написать
> uses SuperUnicodePatcher;. где мной не соблюдено заданное
> тобой условие? за скромную сумму в полторы тысячи американских
> денег я готов тебе это даже написать


> ах, да. срок сдачи релиз — полтора месяца от получения первых
> 30%.


Тебе не кажется, что это несколько не совмещается с твоей фразой из поста [29]


> мне вот интересно, почему 99.9% вопрошающих про «кракозяблы в
> буфере обмена» никогда не задумываются, какое именно магическое
> действие совершает переключение раскладки, и как можно добиться того
> же, но раскладку не дёргать?


Я повторю - флеймить про IE у тебя гораздо лучше получается.


ketmar   (2008-02-12 13:39:00) [7]

ах, да. срок сдачи релиз — полтора месяца от получения первых 30%.

---
Understanding is not required. Only obedience.


ketmar   (2008-02-12 13:38:00) [8]

>30$ предоплата
30% предоплата, конечно. %-))

---
Understanding is not required. Only obedience.


ketmar   (2008-02-12 13:37:00) [9]

>[56] Игорь Шевченко © (2008-02-12 12:59:00)
>Я-то думал, ты знаешь. А туда же.

а в чём проблема моих решения? они нереализуемы? реализуемы, и причём именно так, как ты сказал — достаточно будет написать uses SuperUnicodePatcher;. где мной не соблюдено заданное тобой условие? за скромную сумму в полторы тысячи американских денег я готов тебе это даже написать. 30$ предоплата, 30% после альфа-версии, 40% после сдачи. и ещё две тысячи за исходники.

---
Understanding is not required. Only obedience.


Игорь Шевченко   (2008-02-12 12:59:00) [10]

ketmar ©   (12.02.08 12:55) [55]

Я-то думал, ты знаешь. А туда же.

Я б тебе ответил фразой из старого анекдота, но правила :)
С IE бороться у тебя интереснее получается.


ketmar   (2008-02-12 12:55:00) [11]

>[54] Игорь Шевченко © (2008-02-12 09:43:00)
тю. хучим CreateWindowEx, сабклассим формы. в чём проблема-то?

опять же — кто мешает пропатчить VMT на предмет InitInstance(), и в ней вешать обработчиками хоть чертей лысых?

трудно? да. реализуемо? да. магически? да.

подсказал?

---
Understanding is not required. Only obedience.


Игорь Шевченко   (2008-02-12 09:43:00) [12]

{RASkov} ©   (12.02.08 02:14) [49]

Это мы все умеем для одной формы. Когда их несколько тысяч, готовых, уже уметь перестаем. Когда совокупное количество проблемных контролов (из которых надо копировать) переваливает за десятки тысяч, руки просто опускаются. Я надеялся, что ketmarподскажет способ, как добавить unit в проект, вызвать его initialization автомагически и весь русский текст будет копироваться в юникодные окна без проблем.


Steep   (2008-02-12 09:09:00) [13]

Спасибо всем большое за помощь!!!
Особенно:
> Игорь Шевченко ©
> {RASkov} ©


Anatoly Podgoretsky   (2008-02-12 08:37:00) [14]

> {RASkov}  (12.02.2008 00:02:18)  [18]

Ты тоже хакер или иезуит-одиночка.


Anatoly Podgoretsky   (2008-02-12 08:35:00) [15]

> Steep  (11.02.2008 23:58:16)  [16]

> вроде после #13 (вроде ентер ) может идти #10 (символ каретки вроде как), а наоборот я не уверен

Наоборот - называется хакерская.

V   V
| o |

Для новых русских


Германн   (2008-02-12 02:31:00) [16]


> antonn ©   (12.02.08 02:05) [48]
>
> ладно, идем другом путем - а если юниксовый файл загрузить
> в мемо, оно #13 добавит?
>

А "оно" обязано? "Оно" где-то, когда-то, что-то обещало?


{RASkov}   (2008-02-12 02:14:00) [17]

> [46] Steep   (12.02.08 01:54)

Попробуй вот, примерно, так:

в описании формы
  ......
 private
   OldWnd: TWndMethod;
   procedure NewWnd(var Mes: TMessage);
   ...........


procedure{function} SetClipboardText( const AText: string ){: Boolean};
var
 h:THandle;
begin
 Clipboard.Open;
 Clipboard.AsText := AText;
 h := Clipboard.GetAsHandle(CF_TEXT);
 SetClipboardData(CF_LOCALE, h);
 Clipboard.Close;
end;

procedure TForm.FormCreate();
begin
 OldWnd:=Memo.WindowProc;
 Memo.WindowProc:=NewWnd;
end;

procedure TForm.NewWnd(var Mes: TMessage);
begin
 if Mes.Msg=WM_COPY then SetClipboardText(Memo.SelText) else OldWnd(Mes);
end;


antonn   (2008-02-12 02:05:00) [18]

ладно, идем другом путем - а если юниксовый файл загрузить в мемо, оно #13 добавит?
а если это не мемо?


Германн   (2008-02-12 01:59:00) [19]


> antonn ©   (12.02.08 01:46) [42]
>
> > Германн ©   (12.02.08 01:42) [41]
> >
> > Сначала посмотри в зеркало и скажи тому, кого в нём увидишь.
>
> >  Скажи ему несколько раз, пока тот, кто в зеркале, наконец-
>
> > то поймет.
>
> форум портит, я теперь тоже хочу вякать везде где можно,
>  и желательно не в тему, и с направленной агрессией :)
>

Форум "портит" лишь тех, кто изначально склонен к "вяканию" и к агресии, И ещё тех, кто склонен к неприятию возражений. И при этом не силён в тематике форума.


Steep   (2008-02-12 01:54:00) [20]


> Проще WM_COPY "поймать" нежели кнопки отслеживать, тем более
> что можно скопировать и "мышой" и другими сочетаниями "кнопок".
> ...

хм... ладно еще минута мышления не повредит...
насколько я понимаю - это отлов сообщения от ОС - только вот с сообщениями я не работал...
нужно поискать будет как их ловить :)
но все это завтра! точнее сегодня но днем... все спать спать!


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

Наверх

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