Вниз
Скачать: CL | DM;

Подскажите в чем я неправ   Найти похожие ветки 

 
_saha_   (2002-12-02 13:48) [0]

Привет всем!
Суть проблемы такова:
открываю, допустим, консоль с помощью createfile,
все ок, потом
var p:^string;
New(p);
p^:="1";
p^:=p^+"234";
i:=0;
writefile(f,p^,4,i,nil)
Dispose(p);
По моим понятиям на экране должно вывестись 1234, но выводиться какая-то лажа.
Так в чем я неправ?


 
Reindeer Moss Eater   (2002-12-02 13:53) [1]

В интересном подходе к работе с динамическими строками


 
MBo ©   (2002-12-02 13:55) [2]

у тебя проблемы с пониманием строковых и указательных типов.
var s:string;

writefile(f,@s[1],4,i,nil)




 
_saha_   (2002-12-02 15:53) [3]

Так было в оригинале (взято на этом же сайте):
function Send(var Buf; size: word): integer;
var p: pointer; i: integer;
begin
(сюда добавил)
p := @Buf;
result := 0;
while size > 0 do begin
if not WriteFile(f, p^, 1, i, nil) then exit;
inc(result, i); inc(integer(p)); dec(size);
Application.ProcessMessages;
end;
end;
Я добавил
var buf:string
buf:="1234"


 
MBo ©   (2002-12-02 16:10) [4]

Пардон, у меня синтаксическая ошибка. Надо так:
writefile(f,s[1],4,i,nil);



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
1-36290
smok_er
2002-11-29 23:30
2002.12.12
Закрытие формы


1-36079
Vcoder
2002-11-28 22:02
2002.12.12
Вертикальный текст в TCanvas


7-36439
Fredericco
2002-10-09 19:26
2002.12.12
Как обмануть устройство?


14-36371
MaximatorVeter
2002-11-18 19:42
2002.12.12
Слова любви!


1-36135
Николай Быков
2002-12-03 15:38
2002.12.12
Как лучше? (Borland Pascal 7.0)




   Наверх