Вниз
Скачать: 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.985 c
1-36130
Ник
2002-12-03 14:35
2002.12.12
Динамические массивы


3-35979
Тормоззз
2002-11-26 13:19
2002.12.12
Хочу сделать так - есть DataModule...


3-35993
DBer
2002-11-23 11:13
2002.12.12
---|Ветка была без названия|---


6-36313
Cu
2002-10-18 12:11
2002.12.12
FromAddress in TNMSMTP


3-36055
ao1973
2002-11-25 07:23
2002.12.12
Транзакции в




   Наверх