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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.012 c
3-1188543581
Zeqfreed
2007-08-31 10:59
2008.01.06
Подскажите SQL-запрос(ы), пожалуйста.


15-1196713499
Ega23
2007-12-03 23:24
2008.01.06
Я что-то пропустил?


2-1196876199
greg123
2007-12-05 20:36
2008.01.06
Изменение цвета, кот. подсвечивается выделенный текст в RichEdit


15-1196738725
Slider007
2007-12-04 06:25
2008.01.06
С днем рождения ! 4 декабря 2007 вторник


2-1197161141
O.Snopok
2007-12-09 03:45
2008.01.06
Как приостановить выполнение процедуры до изменения Clipboard