Вверх ↑
Этот топик читают: Гость
Ответов: 689
Рейтинг: 20
#16: 2006-08-11 16:41:06 ЛС | профиль | цитата
Встречные впоросы:
  • Какой текст?
  • В каком редакторе? (MS Word, Блокнот и т.д.) - нужно точное название окна
  • Может быть сделать так: 1. По нажатию кнопки текст скопировать в буфер обмена и произвести активацию необходимого окна редактора
    2. После перехода в окно, средствами редактора, например, Shift+Ins вставить текст?
  • карма: 0

    0
    Гость
    Ответов: 17029
    Рейтинг: 0
    #17: 2006-08-11 19:03:26 правка | ЛС | профиль | цитата


    Редактировалось 2 раз(а), последний 2021-05-21 12:48:28
    карма: 0

    0
    Ответов: 689
    Рейтинг: 20
    #18: 2006-08-11 22:26:06 ЛС | профиль | цитата
    Есть такой пример в HiAsm: ClipText.
    В качестве элемента там используется
    Add(ClipboardHook,14298865,343,224)
    {
    DataStream=0
    Point(Handle)
    }

    попробуй использовать его.
    можно так:
    
    Add(MainForm,14372964,21,105)
    {
    Left=20
    Top=105
    }
    Add(Memo,5074735,91,105)
    {
    Width=392
    Height=273
    Align=5
    Color=16777215
    Strings=#16:Начальный текст||
    AddType=1
    ScrollBars=2
    Point(Handle)
    }
    Add(DoData,11257369,280,175)
    {
    Data=String(программа 1)
    link(onEventData,2568283:doPutText,[])
    }
    Add(ClipboardHook,14298865,343,224)
    {
    DataStream=0
    Point(Handle)
    }
    Add(Hub,2283193,217,175)
    {
    link(onEvent1,11257369:doData,[])
    link(onEvent2,14298865:doPut,[(296,188)(296,237)])
    }
    Add(Clipboard,2568283,343,175)
    {
    }
    Add(KeyHook,65793,91,168)
    {
    link(onKeyDown,60416:doCheckMask,[])
    }
    Add(KeyMask,60416,154,168)
    {
    Shift=1
    Ctrl=1
    Key=65
    link(onTrue,2283193:doEvent1,[(208,181)(208,181)])
    }

    карма: 0

    0
    Гость
    Ответов: 17029
    Рейтинг: 0
    #19: 2006-08-12 12:39:11 правка | ЛС | профиль | цитата


    Редактировалось 2 раз(а), последний 2021-05-21 12:48:29
    карма: 0

    0
    Ответов: 689
    Рейтинг: 20
    #20: 2006-08-12 14:16:10 ЛС | профиль | цитата
    guest писал(а):
    Либо я что то непонял, либо ты.

    Либо ты. Я рекомендовал тебе использовать компонент ClipboardHook, ты упорно оставил Insert. Я рекомендовал тебе обратится к примеру программы ClipText, где это все реализовано уже, и продемонстрировано (она находится в примерах, прям в корне этой папки) - ты упорно пытаешься привязать onInsert c doAdd редактора текста. Всегда doAdd будет вставлять или в конце новую строку или в начале. А вот при использовании ClipboardHook, текст вставится туда, где стоит курсор.

    guest писал(а):
    И ещё вопрос. Можно ли браузер использоваться для просмотра страницы, которая валяеться в папке с программкой. Тобишь папка с программой, в ней папка «mysite» и в ней страница…

    Можно, для этого необходимо записывать адресацию в свойстве URL в виде: file:\c:mysiteindex.htm

    guest писал(а):
    Как можно сделать конвертёр текста windows (латиница) в unicod. Пишешь в одном окне, а перекодированный текст отображаеться в нижнем.

    Не знаю, никогда над этим вопросом не задумывался. В HiAsm есть компонент перекодирующие текст, вот он:
    Add(Charset,8716530,224,224)
    {
    }
    Если знаешь алгоритм как, опиши его, попробуем перекодировать.
    Вот пример как перекодировать WIN в DOS:
    Add(MainForm,12552834,140,91)
    {
    Left=20
    Top=105
    Width=507
    Height=292
    Color=12639424
    }
    Add(Memo,1422120,182,91)
    {
    Left=5
    Top=20
    Width=485
    Height=70
    link(onChange,1649462:doEvent1,[(226,97)(219,97)])
    }
    Add(Memo,9264586,357,217)
    {
    Left=5
    Top=105
    Width=485
    Height=145
    link(Str,7139240:Value,[(363,205)(363,205)])
    }
    Add(Label,16204664,441,91)
    {
    Left=10
    Top=5
    Width=53
    Height=17
    Color=12639424
    Caption="WIN"
    }
    Add(Label,959090,399,91)
    {
    Left=10
    Top=90
    Width=38
    Height=17
    Color=12639424
    Caption="DOS"
    }
    Add(Charset,8716530,287,168)
    {
    Type=1
    link(onCharset,7139240:doValue,[])
    link(Text,1422120:Text,[(293,152)(188,152)])
    }
    Add(Hub,1649462,224,91)
    {
    link(onEvent1,9264586:doClear,[(306,97)(306,230)])
    link(onEvent2,8716530:doCharset,[(271,104)(271,174)])
    }
    Add(Memory,7139240,357,168)
    {
    link(onData,9264586:doAdd,[(399,174)(399,208)(347,208)(347,223)])
    }
    карма: 0

    0
    Гость
    Ответов: 17029
    Рейтинг: 0
    #21: 2006-08-12 15:35:41 правка | ЛС | профиль | цитата


    Редактировалось 2 раз(а), последний 2021-05-21 12:48:29
    карма: 0

    0
    Гость
    Ответов: 17029
    Рейтинг: 0
    #22: 2006-08-12 16:18:35 правка | ЛС | профиль | цитата


    Редактировалось 2 раз(а), последний 2021-05-21 12:48:29
    карма: 0

    0
    Гость
    Ответов: 17029
    Рейтинг: 0
    #23: 2006-08-12 16:48:11 правка | ЛС | профиль | цитата


    Редактировалось 2 раз(а), последний 2021-05-21 12:48:29
    карма: 0

    0
    Ответов: 376
    Рейтинг: 1
    #24: 2006-08-12 18:21:25 ЛС | профиль | цитата
    Астра, Я тоже в GTA люблю играть.
    Теперь по делу:
    А мне нужно туда, где сейчас курсор в текстовике

    Вставь вот эту строку в файл Memo.ini
    *doSetFocus=Устанавливает фокус на элементе|1|

    после стоки
    doSave=Сохраняет список строк в файле|1|

    Используй это
    code_176
    карма: 1

    0
    файлы: 1code_176.txt [958B] [604]
    Ответов: 689
    Рейтинг: 20
    #25: 2006-08-12 18:58:21 ЛС | профиль | цитата
    guest писал(а):
    Блин. Непонимаю я как подключить этот "ClipboardHook"

    Компонент "ClipboardHook" находится в закладке "Контролы", называется по русски "Буфер обмена". Не заьудь про пример ClipText, в Example.

    guest писал(а):
    И обязательно ли мне прописывать весь путь к папке, если папка лежит в той же папке,что и прога.. я же незнаю,куда чувак её установит..

    Так считай путь к папке из INI файла, или реестра, Hiasm это успешно делает. Считай и преобразуй в необходимый тебе, передай в компонент. Точка есть.


    guest писал(а):
    про юникод попозже отпишусь

    Ну я по крайней мере не знаю как с помощью отдельного компонента произвести преобразование.
    Используй для замены компонент который называется Replace. Их тебе понадобится много, очень много, столько, сколько букв ты хочешь заменить.
    Вот примерный начальный код как это сделать, ну скажем так, навскидку, так как оптимизировать еще видимо можно.
    code_177
    карма: 0

    0
    файлы: 1code_177.txt [1.1KB] [541]
    Гость
    Ответов: 17029
    Рейтинг: 0
    #26: 2006-08-12 21:22:26 правка | ЛС | профиль | цитата


    Редактировалось 2 раз(а), последний 2021-05-21 12:48:29
    карма: 0

    0
    Ответов: 18
    Рейтинг: 0
    #27: 2006-08-12 22:21:21 ЛС | профиль | цитата
    Астра писал(а):
    ...ты бы видел эти этажи...

    Ума то нету
    карма: 2
    пугаться не надо ...
    0
    Ответов: 689
    Рейтинг: 20
    #28: 2006-08-12 23:30:43 ЛС | профиль | цитата
    Астра, знаешь, на HiAsm можно очень и очень много. Мой тебе совет: начни его изучать. Метод, который ты выбрал очень характерен для новичков, а именно, берешь начальный пример и разрабатываешь далее свою прогу. Он конечно хорош, до поры до времени, но потом... потом становится тяжело понимать, а что же не так, а почему это у всех работает, а у меня нет...

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

    Астра писал(а):
    А в это вообще ни одним тапочком..запустил- программа свернулась и сидит в трее...блин..крындец

    А развернуть ее из трея не пробовал или код посмотреть?

    Астра писал(а):
    Блин, вот честно скоко не смотрел..скоко не врубался...нифига..

    В каталоге куда ты поставил HiAsm, есть папка Elements, в ней Delphi и уже в ней conf. В этой папке хранятся настройки элементов. Botan, увидев проблему в том, что для стандартного Memo, пока в нем не появится фокус, вставить текст из Clipboard нельзя, по кнопке нельзя. Поэтому и предложил активировать эту точку, изменив файл Memo.ini. Как только ты это сделаешь, код предложенный Botan, и мной ниже, заработает:
    code_178

    Что же касается INI файлов и работы с реестром, тоже советы:
  • Изучи примеры в каталоге Example: IniFiles - в папке Files - пример работы с INI файлами;
  • Про реестр пока забудь, работа с реестром требует тщательного подхода и внимательности, а ты пока этим не блещещь, судя из нашего общения.
  • Изучи компоненты раздела Файлы, в частности Dir, возможно он тебе поможет, а также примеры, где он используется (найди сам в папке Files);
  • Заведи новые темы, в соотвествующих разделах форума, где подробнее опиши свои проблемы, желательно с примерами, которыми ты пытался реализовать, но у тебя не получается.
  • карма: 0

    0
    файлы: 1code_178.txt [1KB] [489]
    Ответов: 9906
    Рейтинг: 351
    #29: 2006-08-13 00:20:05 ЛС | профиль | цитата
    Массивы не массивы, а пример аналогичных замен (например для корректировки третьего примера из этого поста) есть здесь
    Отсюда вывод: есть смысл изучать не только свои проблемы
    карма: 9

    0
    Ответов: 689
    Рейтинг: 20
    #30: 2006-08-13 09:54:52 ЛС | профиль | цитата
    Galkov писал(а):
    Отсюда вывод: есть смысл изучать не только свои проблемы

    Да кто бы спорил...
    карма: 0

    0
    Сообщение
    ...
    Прикрепленные файлы
    (файлы не залиты)