Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.12;
Скачать: CL | DM;

Вниз

Помогите плиз!   Найти похожие ветки 

 
XeRoN   (2006-10-24 23:10) [0]

Доброго Вам времени суток!
Помогите пожайлуста реализовать одну вещь...
Есть программа, которая "считывает" некоторое число с эдита чужего приложения:
...
Var
A:PChar;
...
SendMessage (Handle, WM_GETTEXT, 0, LongInt (A));

Это число записывается в переменную типа PChar...
Вопрос такой:
Как мне можно перевести число из типа PChar например в Real, и обратно из Real в PChar?


 
Gero ©   (2006-10-24 23:12) [1]

StrToFloat


 
XeRoN   (2006-10-24 23:17) [2]

Undeclared identifier: "StrToFloat"
Можно пример плиз...


 
Gero ©   (2006-10-24 23:21) [3]

> [2] XeRoN   (24.10.06 23:17)

В таких случаях нажимают F1 и смотрят, в каком модуле обьявлена функция.


 
Virgo_Style ©   (2006-10-24 23:22) [4]

XeRoN   (24.10.06 23:17) [2]
Можно пример плиз...


F:=StrToFloat(S);


 
XeRoN   (2006-10-24 23:30) [5]

Всеравно:
Error: Undeclared identifier: "Float"
Error: Undeclared identifier: "StrToFloat"
Я использую библиотеку KOL а не VCL, может в KOL такое еще не придумали?


 
Наиль ©   (2006-10-24 23:36) [6]

Float ->Real
StrToFloat -> Str2Float


 
Gero ©   (2006-10-24 23:37) [7]

> [5] XeRoN   (24.10.06 23:30)


> Я использую библиотеку KOL а не VCL

С этого надо было начинать.


 
XeRoN   (2006-10-24 23:53) [8]


> Float ->Real
> StrToFloat -> Str2Float

Error: Undeclared identifier: "Str2Float"

Попробовал Str2Int возвращает ноль =(


 
Gero ©   (2006-10-24 23:59) [9]

> [8] XeRoN   (24.10.06 23:53)

Зачем KOL используешь, если не можешь сам с такой задачей разобраться?


 
XeRoN   (2006-10-25 00:17) [10]


> Зачем KOL используешь, если не можешь сам с такой задачей
> разобраться?

Дело в том, что я программирую не на делфи а на HiAsm(hiasm.com). HiAsm использует компилятор от делфи 4, вместо VCL-KOL...

Изза этого и траблы...


 
Орион ©   (2006-10-25 00:19) [11]

> [10] XeRoN   (25.10.06 00:17)

и много напрограммил уже?
что-нибудь полезное есть?

Мне просто интересно, что можно на HiAsm сделать реально полезного.


 
XeRoN   (2006-10-25 00:26) [12]


> Мне просто интересно, что можно на HiAsm сделать реально
> полезного.


На нем можно сделать оч много чего полезного, даже обладая небольшими знаниями программирования на стандартных хайасмских компонентах...
Если тебе стандартных компонентов не хватает, можно вставить свой код на делфи или на ассемблере...

В среднем приложения получаются ~35-40 кб (визуальные)...

Можно сделать фоновые, получится ~15 кб...


 
Наиль ©   (2006-10-25 00:30) [13]


> Попробовал Str2Int возвращает ноль =(

Приведи образец строки для которой возвращается ноль

Книга о KOL
http://bonanzas.rinet.ru/KOLBook.rar


 
XeRoN   (2006-10-25 00:37) [14]


> Приведи образец строки для которой возвращается ноль

...
PC : PChar;
      L,Handle: integer;
      result:string;
      F:real;
...
  SendMessage (Handle, WM_GETTEXT, L-11, LongInt (PC));
  result:=PC;
  F:=Str2int(result);


> Книга о KOL
> http://bonanzas.rinet.ru/KOLBook.rar


Спасибо! =)


 
Орион ©   (2006-10-25 00:44) [15]

> [14] XeRoN   (25.10.06 00:37)

а ты уверен, что в result у тебя что-то есть?


 
Наиль ©   (2006-10-25 00:51) [16]

Под образцом строки я подразумевал значение в PC (result)


 
Орион ©   (2006-10-25 00:53) [17]

> [16] Наиль ©   (25.10.06 00:51)

ты под PC память выделяешь?


 
Наиль ©   (2006-10-25 00:53) [18]


> Спасибо! =)

Учти, что книга в стадии написания. Выложена лишь для публичного обсуждения ("бета-тестирование"). Более полного варианта не существует, не ищи.


 
Орион ©   (2006-10-25 00:55) [19]

а SendMessage - функция, и наверное правильно бы было проверить ее результат ;)


 
Орион ©   (2006-10-25 00:56) [20]

> [17] Орион ©   (25.10.06 00:53)

Наиль, это для XeRoN =)


 
XeRoN   (2006-10-25 01:02) [21]

Если без:

>   F:=Str2int(result);


то программа возвращает то что нужно, тока тип - PChar...


 
XeRoN   (2006-10-25 01:04) [22]

Может, можно как-то разбить строку,на символы, получить ее длину, (можно так: SendMessage (Handle, WM_GETTEXTLENGTH, 0, 0);), и потом каждый символ заменить цифрой... Тока я не знаю как это реализовать...


 
Наиль ©   (2006-10-25 01:07) [23]


> то что нужно

Что?


 
XeRoN   (2006-10-25 01:07) [24]

Вот, вроде бы на примере этого, можно сделать:
Function Hex2Int(st:string):integer;
var
  i,ln:word;
begin
  st := LowerCase(st);
  Result := 0;
  ln := Length(st);
  if ln > 0 then
   for i := 1 to ln do
    case st[i] of
     "0".."9": Result := Result shl 4 + ord(st[i]) - 48;
     "a".."f": Result := Result shl 4 + ord(st[i]) - 87;
     else break;
    end;
end;

Тока я не знаю как =(


 
Орион ©   (2006-10-25 01:09) [25]

нда... это полный пипец.


 
XeRoN   (2006-10-25 01:10) [26]

то что нужно

В смысле возвращает цифру которая написана в эдите, только ее тип PChar...


 
XeRoN   (2006-10-25 01:10) [27]


> нда... это полный пипец.


В смысле?)


 
Наиль ©   (2006-10-25 01:16) [28]

Мы тебе намекаем и намекаем.
Проблема в PC, а не в Str2
Кстати заглянул в книгу, там написано, что для PChar функция S2Int


 
XeRoN   (2006-10-25 01:20) [29]


> Кстати заглянул в книгу, там написано, что для PChar функция
> S2Int

Щас посмотрю =)


 
XeRoN   (2006-10-25 01:33) [30]

Вы имеете ввиду что ошибка сдесь: L-11 т.е. "не хватает" места в буфере?
Длина числа > 12 символов, поэтому ошибка не сдесь...

Или я неправильно понял Ваш намек?)


 
XeRoN   (2006-10-25 01:45) [31]

Все разобрался, работает =)
Спасибо!!!


 
XeRoN   (2006-10-25 20:30) [32]

Извините за назойливость...
Подскажите плиз как обратно из Real перевести в PChar...
С int2str не получается... Говорит: Incompatible types: "Integer" and "Real"...


 
vidiv ©   (2006-10-25 21:24) [33]

val + F1...
str + F1...
блин =(



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

Текущий архив: 2006.11.12;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.033 c
2-1162189286
vitv
2006-10-30 09:21
2006.11.12
DBGrid-в несколько строк.


9-1138866264
Nic
2006-02-02 10:44
2006.11.12
Как проверить установлена DirectX в системе и если нет, то...


1-1159534521
AlexT1000
2006-09-29 16:55
2006.11.12
Можно ли показать ExcelWorkBook на моей форме.?


2-1161612916
evgenij_
2006-10-23 18:15
2006.11.12
tab.Filter


2-1161842761
_Mouse_
2006-10-26 10:06
2006.11.12
Как скопировать в клипбоард?