![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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
|
||||
|
||||
|
Мдааа! Редкий набор ляпов. Такое надо в отдельную темку шедевров форума сохранять.
|