Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.12;
Скачать: 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 вся ветка

Текущий архив: 2002.12.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
4-36481
Vanger_
2002-10-31 10:53
2002.12.12
Работа с другим приложением


1-36194
handra
2002-11-29 11:18
2002.12.12
ActiveFrom


3-36040
Calm
2002-11-25 14:46
2002.12.12
MS SQL: Как вернуть несколько строк с помощью Raiserror()


3-36041
_toltec
2002-11-23 03:08
2002.12.12
Хранимая процедура


1-36123
LongIsland
2002-12-02 15:46
2002.12.12
Недостаточно памяти для обработки команды