Текущий архив: 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.54 MB
Время: 0.005 c