purebasic.info

PureBasic forum
Текущее время: Чт ноя 15, 2018 1:15 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 113 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8  След.
Автор Сообщение
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Ср фев 26, 2014 9:26 pm 
Не в сети
доцент

Зарегистрирован: Вт фев 25, 2014 8:41 pm
Сообщений: 26
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Такс, проверил, но теперь я не могу добавить текст командой
Код:
1
ScintillaSendMessage(0, #SCI_ADDTEXT, Len(pMessager), @pMessager)

, если у меня стоит блокировка редактирования
Код:
1
ScintillaSendMessage(0, #SCI_SETREADONLY, 1)

.
Или перед добавлением текста стоит разблокировать гаджет после добавления снова поставить в блокировку?
Код:
1
2
3
        ScintillaSendMessage(0, #SCI_SETREADONLY, 0)
        ScintillaSendMessage(0, #SCI_ADDTEXT, Len(pMessager), @pMessager)
        ScintillaSendMessage(0, #SCI_SETREADONLY, 1)



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Ср фев 26, 2014 9:31 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Именно так и сделай :wink:

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Ср фев 26, 2014 9:32 pm 
Не в сети
доцент

Зарегистрирован: Вт фев 25, 2014 8:41 pm
Сообщений: 26
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Никита Однороб писал(а):
Именно так и сделай :wink:

Иначе ни как я понимаю да?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Ср фев 26, 2014 9:35 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Скорее всего это единственный выход. Ты сам запретил редактирование, а потом пытаешься вставить текст. Надо разрешить редактирование, а потом вставлять

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Ср фев 26, 2014 9:44 pm 
Не в сети
доцент

Зарегистрирован: Вт фев 25, 2014 8:41 pm
Сообщений: 26
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Никита Однороб писал(а):
Скорее всего это единственный выход. Ты сам запретил редактирование, а потом пытаешься вставить текст. Надо разрешить редактирование, а потом вставлять

Спасибо :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Сб сен 26, 2015 1:24 am 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
pablov писал(а):
У меня есть своя библиотека disasm.lib, которая прекрасно работает

А как ей дизасмить больше одной команды?
Пробую так
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
StartC:
!nop
!nop
!nop
MessageRequester("DisAsm string", "", 0)
!nop  
!nop
!nop
EndC:
 
Instr_Length =0
 
 
For i =?StartC  To ?EndC
 
  DisAssemble(i + Instr_Length, ?StartC, Buffer_0, DisA.DisAsmStruct, 1)  
 
  Instr_Length = DisA.DisAsmStruct\Instruction_Length
  Debug Buffer_0
 
Next i
 



Но выдает какую-то ерунду.
Должно быть так
Код:
1
2
3
4
5
6
7
8
9
10
11
12
 
90            NOP
90            NOP
90            NOP
68 00000000   PUSH    0
68 1EA04000   PUSH    0040A01E
68 1FA04000   PUSH    0040A01F                         ;  ASCII "DisAsm string"
E8 70100000   CALL   004020F1
90            NOP
90            NOP
90            NOP
 



А выдает это
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
90  NOP
90  NOP
68 2C 00 00 00  PUSH 02Ch
E8 4D 01 00 00  CALL 04011EFh
4D  DEC EBP
00 00  ADD BYTE PTR [EAX],AL
E8 4D 01 00 00  CALL 04011EFh
00 68 00  ADD BYTE PTR [EAX],CH
00 00  ADD BYTE PTR [EAX],AL
00 00  ADD BYTE PTR [EAX],AL
00 68 00  ADD BYTE PTR [EAX],CH
00 00  ADD BYTE PTR [EAX],AL
00 00  ADD BYTE PTR [EAX],AL
00 00  ADD BYTE PTR [EAX],AL
00 00  ADD BYTE PTR [EAX],AL
00 68 D8  ADD BYTE PTR [EAX-028h],CH
D8 90 43 00 68 D9  FCOM DWORD PTR [EAX-02697FFBDh]
68 D9 90 43 00  PUSH 04390D9h
68 D9 90 43 00  PUSH 04390D9h
D9 90 43 00 E8 94  FST DWORD PTR [EAX-06B17FFBDh]
43  INC EBX
00 68 D9  ADD BYTE PTR [EAX-027h],CH
90  NOP
D9 90 43 00 E8 94  FST DWORD PTR [EAX-06B17FFBDh]
14 00  ADC AL,0h
00 E8  ADD AL,CH
E8 94 14 00 00  CALL 0402536h
00 E8  ADD AL,CH
14 00  ADC AL,0h
00 00  ADD BYTE PTR [EAX],AL
00 E8  ADD AL,CH
E8 90 14 00 00  CALL 0402532h
00 90 90 90 68 32  ADD BYTE PTR [EAX+032689090h],DL
90  NOP
14 00  ADC AL,0h
00 90 90 90 68 32  ADD BYTE PTR [EAX+032689090h],DL
32 00  XOR AL,BYTE PTR [EAX]
90  NOP
90  NOP
 



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Сб сен 26, 2015 9:06 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11325
Благодарил (а): 4 раз.
Поблагодарили: 440 раз.
С выключенным отладчиком не пробовал?

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Сб сен 26, 2015 12:01 pm 
Не в сети
профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43
Как то так
Disasm
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Structure REGTYPE
  REG_Kind.b             ;1=8 bits \ 2=16 bits \ 3=32 bits \ 4=MMX \ 5=XMM \ 6=Float stack \ 7=Segment \ 8=Debug \ 9=Control \ 10=Test
  REG_Ptr_Kind.b         ;1=Byte PTR \ 2=Word PTR \ 3=Dword PTR \ 4=Qword PTR \ 5=mmword ptr \ 6=xmmword ptr \ 7=FWord PTR \ 8=tbyte ptr \ 9=null ptr (LEA)
  REG_Type.b             ;0-7= direct register index \ 16 register=byte && 7 \ 32 register=(byte && 63)/8 \ 64=[32/16 address only] \ 128=[using x86 relatives]
  REG_BaseAsReg.b        ;1=Register only (BASE exposed)!
EndStructure
 
Structure REGSTRUCT
 SEG_TYPE.l
 BASE.l
 INDEX.l
 SCALE.l
 DISPLACEMENTS.l
 DISPLACEMENT_TYPE.l
 REG_Kind.REGTYPE
 PTR_TYPE.l
EndStructure
 
Structure IMMSTRUCT
 VALUE_LO.l
 VALUE_HI.l
 VALUE_TYPE.l            ;1=Byte \ 2=Word \ 4=Dword \ 8=ByteToWord \ 16=ByteToDword \ 32=AbsJump \ 64=ShortJump \ 128=LongJump
EndStructure
 
Structure DisAsmStruct
 Instruction_Prefix.l
 Instruction.l
 Reg1.REGSTRUCT
 Reg2.REGSTRUCT
 Reg_Reg.l               ;1=from ptr
 Imm.IMMSTRUCT
 Instruction_Length.l
EndStructure  
 
Import "Disasm.lib"   ; <== Прописать свой путь до либы
    DisAssemble(Start.l, RelativeAddress.l, Buffer.s, DisA, n.b)
EndImport
 
Define.s Buffer_0 = Space(100), str
Define.i Instr_Length =0
 
StartC:
!nop
!nop
!nop
MessageRequester("DisAsm string", "11111", 0)
!nop  
!nop
!nop
EndC:
 
 
For i =0  To 9
  DisAssemble(?StartC + Instr_Length, ?StartC, Buffer_0, DisA.DisAsmStruct, 1)
  str = str + Hex(?StartC + Instr_Length, #PB_Long) + Chr(9) + Buffer_0 + Chr(10)
  Instr_Length + DisA.DisAsmStruct\Instruction_Length
Next i    
MessageRequester("DisAsm string", str, 0)


Если дизасемблируешь сам себя (т.е. exe которое компилируешь) дебугер нужно отключать. Если сторонний exe, можно с дебугером.
PS Вообще-то эту библиотеку нужно в топку, старая она. Я рекомендую для дизасма BeaEngine
Или тут

_________________
Всё должно быть просто, настолько просто, насколько возможно, но не проще. (c) Альберт Эйнштейн
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Сб сен 26, 2015 11:48 pm 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
pablov писал(а):
BeaEngine

А есть свежая скомпиленная версия? На гитхабе только сорцы, а сайт похоже протух.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Вс сен 27, 2015 8:46 pm 
Не в сети
профессор

Зарегистрирован: Ср янв 14, 2009 4:12 pm
Сообщений: 2002
Благодарил (а): 12 раз.
Поблагодарили: 101 раз.
Пункты репутации: 43
Dll-ку можно взять у x64_dbg http://sourceforge.net/projects/x64dbg/ ... z/download они дизасм на ней пилят, а статик либу незнаю где взять (надо компилить). У меня есть 4.1.166, но она старенькая
PS Ошибок в ней лично я не увидел :D

_________________
Всё должно быть просто, настолько просто, насколько возможно, но не проще. (c) Альберт Эйнштейн
Изображение


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Пн сен 28, 2015 1:41 am 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
Старая у меня тоже есть. Только мне показалось, что она немного медленней работает чем та. Да и тяжелые они. Пуриковская бы подошла, но некоторые инструкции не обрабатывает и обламывается.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Сб сен 08, 2018 10:20 pm 
Не в сети
док

Зарегистрирован: Чт окт 27, 2011 7:43 pm
Сообщений: 83
Откуда: Санкт-Ленинград
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Возникла необходимость в сабже.
В качестве начала изучения взял текстовый редактор Петра (где-то тут был, на форуме).
Пробовал запустить его под Линухом.
Не удаётся ввести русские буквы (т.е. UTF-8 с двумя байтами).
Что надо подправить?

_________________
ICQ нет, и, в ближайшее время, не будет


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Сб сен 08, 2018 11:04 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11325
Благодарил (а): 4 раз.
Поблагодарили: 440 раз.
Пример из справки нормально работает? https://www.purebasic.com/documentation ... adget.html

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Вс сен 09, 2018 8:08 pm 
Не в сети
док

Зарегистрирован: Чт окт 27, 2011 7:43 pm
Сообщений: 83
Откуда: Санкт-Ленинград
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Пётр писал(а):
Пример из справки
В/у (из он-лайн справки) у меня вообще не работает и под Виндой. :D
Пример из хелпа программы (V5.11), то же самое.
Под Виндой - нормально, под Линухом - если изменить текст загружаемый, то - крякозябры, если пытаться вводить в редактор - одни вопросы.

_________________
ICQ нет, и, в ближайшее время, не будет


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по Scintilla
СообщениеДобавлено: Вс сен 09, 2018 8:29 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11325
Благодарил (а): 4 раз.
Поблагодарили: 440 раз.
Gregory писал(а):
В/у (из он-лайн справки) у меня вообще не работает и под Виндой.
Даже не запускается?

Gregory писал(а):
Под Виндой - нормально, под Линухом - если изменить текст загружаемый, то - крякозябры
Приложение юникодное? Похоже что нет.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 113 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB