Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.041 c
10-1125833508
Lab74
2005-09-04 15:31
2006.11.12
Использование ActiveX DLL без регистрации её в реестре


5-1142771273
Кашперук Иван
2006-03-19 15:27
2006.11.12
Real-Time отрисовка Caption


1-1159444991
DVM
2006-09-28 16:03
2006.11.12
У TEdit какие то проблемы с маленькой буквой "я"?


15-1161950797
Stanislav
2006-10-27 16:06
2006.11.12
Где можно взять карту


2-1161818526
fog
2006-10-26 03:22
2006.11.12
OffsetRgn и TCanvas





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский