|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
запись массива в файл
Добрый вечер.
Подскажите пожалуйста, почему массив не пишется в файл и как умножить i на дробное число (выходит сообщение о несопоставимости integer и extended) Код:
var Form1: TForm1; t: TStream; i:integer; m: array[1..10] of integer; f: textfile; n: integer; Name_g : array[1..255,1..255] of string; j: integer = 0; implementation {$R *.dfm} begin t := TMemoryStream.Create; for i:= 1 to 10 do m[i]:= (i)*(3); begin AssignFIle(F,'D:\тест\file.txt'); Rewrite(f); n:=1; j:=1; while (name_g[n,j]<>'') do begin n:=n+1; j:=j+1; Writeln(f,name_g[n,j],';',name_g[n,j+1]); end; CloseFile(f); end; t.Free; end. |
#2
|
|||
|
|||
тебе надо на дробное умнгожить целое???
просто тип целого real или extended поставь. |
#3
|
||||
|
||||
m: array[1..10] of integer;
замени итеджер на доибле и все |
#4
|
||||
|
||||
i типа REAL.
Во writeln вместо запятых до и после ';' должны быть плюсы по идее. Если не пишется из-за другого, то мне ща не проверить, без дельфы сижу Алкоголик-аморал, явная угроза обществу Блин, я уже местный, а все равно нифига не знаю... |
#5
|
|||
|
|||
Нет, плюсики не помогают, файл все равно пустой.
А умножение теперь получилось, спасибо. |
#6
|
||||
|
||||
Тогда могу только тебе ща посоветовать пошагово через нажатие f5 в коде пройти все участки кода и проверить в каком месте код не выполняется.
Алкоголик-аморал, явная угроза обществу Блин, я уже местный, а все равно нифига не знаю... |
#7
|
||||
|
||||
Writeln(f,name_g[n,j], ';' , name_g[n,j+1]);
';' , name_g[n,j+1]- это надо заменить количеством символов (на сколькоя помню) на делфи перешел недавно но попробуй http://www.delphisources.ru/pages/faq/base/writeln.html может там найдешь ответ Последний раз редактировалось CTAJLUH, 19.01.2010 в 22:16. |
#8
|
|||
|
|||
но ведь при помощи этой части записывается следующий элемент в файле
|
#9
|
||||
|
||||
http://www.delphisources.ru/pages/fa...Write.php.html
тупо воспользовался гуглом вроде там есть ответ тоесть нужно писать write а потом уже writeln для перехода на следующую строку |
#10
|
|||
|
|||
Попробуй писать в файл примерно вот так
Код:
AssignFile(F,'C:\file.txt'); Rewrite(f); for i := 0 to name_g_I do begin for j := 0 to name_g_J do Write(f, name_g[i, j]+';'); Writeln(f, ''); end; CloseFile(f); |
#11
|
|||
|
|||
Всем спасибо, сделал.
Если кому интересно, вот правильный код программы: Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; t: TStream; i:integer; m: array[1..10] of double; f: textfile; { Name_g : array[1..255,1..255] of string; } implementation {$R *.dfm} begin t := TMemoryStream.Create; for i:= 1 to 10 do m[i]:= (i)*(3.475*2.875); begin AssignFIle(F,'D:\тест\file.txt'); Rewrite(f); for i := 1 to 10 do begin Writeln(f, m[i],';'); end; CloseFile(f); end; t.Free; end. |
#12
|
||||
|
||||
НЕПРАВИЛЬНО!!!
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#13
|
|||
|
|||
что неправильно? Все??
|
#14
|
||||
|
||||
Ну в принципе да, ВСЕ НЕПРАВИЛЬНО.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#15
|
||||
|
||||
Мдааа! Редкий набор ляпов. Такое надо в отдельную темку шедевров форума сохранять.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |