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

Вниз

Ord - не могу сообразить, как выводить ASCII коды   Найти похожие ветки 

 
ab99 ©   (2007-12-08 16:56) [0]

Ord - не могу сообразить, как выводить ASCII коды введенных символов:

Например: A=65, B=66

writeln(f,Ord(Memo.Lines[i]); - ругается !


 
Reindeer Moss Eater ©   (2007-12-08 16:58) [1]

Ord к строке неприменим


 
Anatoly Podgoretsky ©   (2007-12-08 16:58) [2]

А что по ругани разве не понятна какая ошибка?


 
Anatoly Podgoretsky ©   (2007-12-08 16:59) [3]


> Ord к строке неприменим

Если бы только это, там же больше ошибок.


 
{RASkov} ©   (2007-12-08 17:05) [4]

> [0] ab99 ©   (08.12.07 16:56)
> writeln(f,Ord(Memo.Lines[i]);

writeln(f,Ord(Memo.Lines[i][1]));
?


 
ab99 ©   (2007-12-08 18:21) [5]

Ну, все равно не хочет:

fName:=Edit1.Text;
  AssignFile(f,fName);
  ReWrite(f);

for i:=0 to  Memo.Lines.Count do      
   writeln(f,Ord(Memo.Lines[i][1]));
     CloseFile(f);


 
_Denis_ ©   (2007-12-08 19:00) [6]


> ab99 ©

Ты что сделать - то хочешь? зачем мемо?


 
AlexanderMS ©   (2007-12-08 19:05) [7]


> for i:=0 to  Memo.Lines.Count do      
>    writeln(f,Ord(Memo.Lines[i][1]));
>      CloseFile(f);


Memo.Lines.Count - 1


 
Правильный_Вася   (2007-12-08 19:06) [8]


> Memo.Lines.Count

надо Memo.Lines.Count - 1


 
ab99 ©   (2007-12-08 19:19) [9]

2 _Denis_ : Ну, так было в готовом примере. Пересылаются данные из одного СОМ порта в другой.
А у меня связь между  датчиком и регистратором. Посмотрел осциллографом - идут посылки по 6 байт. Было бы хорошо завести это дело в комп и строить графики. Но, для начала, нужно понять, что в этой каше есть полезного, найти соответствие цифр на регистраторе с числами, пересылаемыми датчиком.


 
_Denis_ ©   (2007-12-08 19:28) [10]


> ab99 ©   (08.12.07 19:19) [9]

не врубаюсь, при чём тут мемо? что, негде хранить больше?


 
ab99 ©   (2007-12-08 19:33) [11]

2 _Denis_ : А что поменяется, если мемо заменю на лейбочку? Важно, чтобы принцип работал.
2 Правильный_Вася : И так не хочет.


 
Германн ©   (2007-12-08 19:36) [12]


> А что поменяется, если мемо заменю на лейбочку? Важно, чтобы
> принцип работал.

Ничего не поменяется. Как с мемо не работает, так и с лейблом не будет. Нельзя пихать в текстовый контрол нетекстовую по определению информацию.


 
{RASkov} ©   (2007-12-08 19:39) [13]

Что-то мне подсказывает, что нашли еще одного партизана:) Ну и день сегодня :(


 
ab99 ©   (2007-12-08 19:40) [14]

2 Германн: Так что, задача не решается? Из-за этого полет на Марс откладывается?


 
Dib@zol ©   (2007-12-08 19:43) [15]

> Ну и день сегодня :(

Ещё пара таких партизанов, и можно давать Мастера вне очереди :) Терпите :)


 
Dib@zol ©   (2007-12-08 19:45) [16]

> Из-за этого полет на Марс откладывается?

Ага, как только задача решится, так сразу дунем ганджубаса - и на Марс %D
Кхм о чём эт я? Ах да. Приведи код. Желательно полный. Той процедуры где не работает.


 
{RASkov} ©   (2007-12-08 19:46) [17]

> [14] ab99 ©   (08.12.07 19:40)
> Так что, задача не решается?

Неужели ты сможешь в это поверить??? :)


 
Юрий Зотов ©   (2007-12-08 19:50) [18]

> ab99 ©   (08.12.07 19:40) [14]

> Так что, задача не решается?

Наверняка решается. Только не так, как Вы пытаетесь ее решить. Ну какое отношение имеют текстовые контролы к датчику, регистратору и НЕтекстовой информации, которой они обмениваются?

Датчик шлет на COM-порт 6 байт. ОК, читаем их, запоминаем, достраиваем эту точку на графике и пересылаем в другой COM-порт регистратору.

Все. При чем тут всякие там Memo - совершенно непонятно.


 
ab99 ©   (2007-12-08 19:50) [19]

procedure TMainForm.MemoChange(Sender: TObject);
var
  f:TextFile;
  fName:String[80];
  i:integer;
begin
  fName:=Edit1.Text;
  AssignFile(f,fName);
  ReWrite(f);

  for i:=0 to  Memo.Lines.Count do
   writeln(f,Ord(Memo.Lines.Count-1));
     CloseFile(f);

end;


 
Германн ©   (2007-12-08 19:51) [20]


> ab99 ©   (08.12.07 19:40) [14]
>
> 2 Германн: Так что, задача не решается? Из-за этого полет
> на Марс откладывается?
>

Если под задачей понимается прием информации передаваемой между приборами и разбор ее, то решается как два пальца об асфальт. Только при приеме ее нужно не в мемо писать, а сразу в файл. А файл уже потом просмотреть в любом вьюере, который может показывать содержимое файла в HEX-кодах.


 
Desdechado ©   (2007-12-08 19:52) [21]

> идут посылки по 6 байт. найти соответствие цифр
> на регистраторе с числами, пересылаемыми датчиком.
Используй array of byte или PChar вместо мемо. Байты могут быть любыми, а мемо не может содержать нетекстовые символы.


 
Германн ©   (2007-12-08 19:54) [22]


> Используй PChar вместо мемо. Байты могут
> быть любыми,

А что с нулем делать?


 
{RASkov} ©   (2007-12-08 19:55) [23]

> [19] ab99 ©   (08.12.07 19:50)

????
Зачем так делать? На изменение текста такой код.....?
А это:

> for i:=0 to  Memo.Lines.Count do
>   writeln(f,Ord(Memo.Lines.Count-1));
>     CloseFile(f);

вообще не понятно для чего...
про -1 говорили - это про диапазон цикла, а не то о чем ты подумал...


 
ab99 ©   (2007-12-08 20:06) [24]

Весь коллектив NASA ждет готовый код.


 
Anatoly Podgoretsky ©   (2007-12-08 20:08) [25]

> ab99  (08.12.2007 20:06:24)  [24]

В NASA уже готовится приказ об увольнение.


 
Dib@zol ©   (2007-12-08 20:13) [26]

Пользуй вот это.

function ConvToKeyCodes(s:string):PChar;
asm
PUSH ECX;
MOV ECX, EAX;
JECXZ @quit;

PUSH EBX;
PUSH EDX;
PUSH EDI;
PUSH ESI;

MOV ECX, DWORD PTR [EAX-4];
PUSH ECX;
MOV EBX, ECX;
SHL ECX, 1;
ADD ECX, EBX;
INC ECX;
MOV EDI, ECX;

MOV EBX, EAX;
DEC EBX;

PUSH ECX;
CALL GetMemory;
POP ECX;
POP ECX;
ADD EDI, EAX;
MOV BYTE PTR[EDI], 0;
DEC EDI;
XOR EAX, EAX;
MOV DL, 10h;

@loop:
  MOV AL, BYTE PTR [EBX+ECX];
  MOV ESI, ECX;
  MOV ECX, 2;
  @next:
    IDIV DL;
    CMP AH, 0Ah;
    JL @less;
    ADD AH, 07h;
    @less:
    ADD AH, 30h;
    MOV BYTE PTR [EDI], AH;
    XOR AH, AH;
    DEC EDI;
  LOOP @next;
  MOV BYTE PTR [EDI], 23h;
  DEC EDI;
  MOV ECX, ESI;
LOOP @loop;

INC EDI;
MOV EAX, EDI;

POP ESI;
POP EDI;
POP EDX;
POP EBX;
@quit:
POP ECX;
end;

procedure TMainForm.MemoChange(Sender: TObject);
var
 f:TextFile;
 fName:String;
begin
 fName:=Edit1.Text;
 AssignFile(f,fName);
 ReWrite(f);

 FName:=ConvToKeyCodes(Memo.Lines.Text);
 write(f, FName);

 CloseFile(f);
end;


 
ab99 ©   (2007-12-08 20:15) [27]

Ну-ка, ну-ка. Сейчас проверим.


 
Dib@zol ©   (2007-12-08 20:18) [28]

Да, забыл предупредить: там шестнадцатиричные коды символов. Т.е. 255("я") будет отображаться как #FF.


 
Desdechado ©   (2007-12-08 20:26) [29]

> Германн ©   (08.12.07 19:54) [22]
> > Используй PChar вместо мемо. Байты могут > быть любыми,
> А что с нулем делать?
Если знаешь длину, то ноль не помеха.


 
ab99 ©   (2007-12-08 20:55) [30]

2 Dib@zol: Пишет - Undeclared indetifier "GetMemory".
Неужели придется на Марс пешком идти?


 
Правильный_Вася   (2007-12-08 21:38) [31]


> Неужели придется на Марс пешком идти?

найди программиста, он тебя подкинет


 
Правильный_Вася   (2007-12-08 21:38) [32]

а вообще похоже на развод


 
Anatoly Podgoretsky ©   (2007-12-08 21:41) [33]

> Правильный_Вася  (08.12.2007 21:38:32)  [32]

К сожалению реальность.


 
ab99 ©   (2007-12-08 21:45) [34]

Ну, не программист я. Помочь прошу.


 
Anatoly Podgoretsky ©   (2007-12-08 21:46) [35]

> ab99  (08.12.2007 21:45:34)  [34]

Водитель шатла.


 
ab99 ©   (2007-12-08 21:54) [36]

Пока только кондуктор


 
Anatoly Podgoretsky ©   (2007-12-08 21:55) [37]

Ты трепаться сюда пришел?
Нам то можно, ветка то твоя, а вот ты?


 
ab99 ©   (2007-12-08 22:04) [38]

А как изящно начиналось:

writeln(f,Ord(Memo.Lines[i]);

И как скверно закончилось.


 
app ©   (2007-12-08 22:07) [39]

> ab99  (08.12.2007 22:04:38)  [38]

Закрыто как не конструктивное.



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

Форум: "Начинающим";
Текущий архив: 2008.01.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.006 c
15-1196756239
Галинка
2007-12-04 11:17
2008.01.06
А что читаем? (и аудиокниги в том числе)


2-1197332815
San1
2007-12-11 03:26
2008.01.06
создание класса на основе TBitmap


15-1196266367
Slider007
2007-11-28 19:12
2008.01.06
С днем рождения ! 28 ноября 2007 среда


9-1164923413
Gigatrop
2006-12-01 00:50
2008.01.06
Проблемы с координатами


2-1197289338
..::KraN::..
2007-12-10 15:22
2008.01.06
Работа с потоками





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский