Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2007, 10:05   #1
Toxa
Форумчанин Подтвердите свой е-майл
 
Аватар для Toxa
 
Регистрация: 01.12.2006
Сообщений: 514
Смущение FileWrite - запись в файл

Ф-ция записывает в файл на диске строчку S:= 'stroka' , в выбранном файле сохраняется ерунда, т.е. проблема с кодировкой. И в англиской xp и в руссифицированной xp тоже самое. По моему , глючит SizeOf(S) - она все время возвращает 4 байта.

procedure TForm1.btOneClick(Sender: TObject);
var
FileHandle: integer; // каждый файл имеет уникальный идентификатор
S: string;
begin
if SaveDialog1.Execute then
begin
// возвр. идентиф. файла или -1, если создать не удалось
FileHandle := FileCreate(SaveDialog1.FileName);
if FileHandle > 0 then
begin
S:= 'stroka';
// данные для записи во втором параметре
// третий - задаёт число записываемых байтов
FileWrite(FileHandle,S, SizeOf(S));
FileClose(FileHandle);
end
else
ShowMessage('Ошибка создания файла!');
end;
end;
Пишу на Delphi за еду
Toxa вне форума Ответить с цитированием
Старый 07.02.2007, 10:39   #2
Romanus
Кодер
Форумчанин
 
Регистрация: 27.01.2007
Сообщений: 271
По умолчанию

Вообщем я подкорректировал немного смотри:
const
//Буфер для записи
s1:array[1..3] of char = ('a','b','c');
var
FileHandle: integer;
S: string;
begin
if SaveDialog1.Execute then
begin
FileHandle := FileCreate(SaveDialog1.FileName);
if FileHandle > 0 then
begin
S:= 'stroka';
FileWrite(FileHandle,s1, high(s1));
FileClose(FileHandle);
end
else
ShowMessage('Îøèáêà ñîçäàíèÿ ôàéëà!');
end;
Romanus вне форума Ответить с цитированием
Старый 07.02.2007, 10:52   #3
ClauZzz
Пользователь
 
Регистрация: 05.02.2007
Сообщений: 10
По умолчанию

high возвращает длину, только ограниченных массивов. Исполюзуй Length() и будет тебе счастье

Вопрос к модераторам (извиняюсь что не в тему), Почему в форуме для программистов так убого выглядит программный код, практически не читаемо. Все сдвинуто к левой границе, убраны все пустые строки. Стишек то неудобненько читать, а программный код и подавно

Последний раз редактировалось ClauZzz; 07.02.2007 в 10:55.
ClauZzz вне форума Ответить с цитированием
Старый 07.02.2007, 11:03   #4
AVer
Андрей
Форумчанин
 
Аватар для AVer
 
Регистрация: 21.11.2006
Сообщений: 457
По умолчанию

Для этого есть отдельная тема. Называется - Как улучшить форум.
ICQ: 5311314
[SIGPIC][/SIGPIC]
AVer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись в файл |{ot Общие вопросы Delphi 6 05.07.2008 02:24
Запись в файл [Smarik] Помощь студентам 4 07.05.2008 23:26
Запись в файл на С++ Mails Помощь студентам 7 31.03.2008 14:37
Запись в файл В_И_К_Т_О_Р Помощь студентам 9 30.01.2008 22:46
запись в файл Prisian Общие вопросы Delphi 6 24.07.2007 13:43