Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.01.2010, 21:55
vladimir01101988 vladimir01101988 вне форума
Прохожий
 
Регистрация: 03.12.2009
Сообщения: 19
Репутация: 10
Восклицание запись массива в файл

Добрый вечер.
Подскажите пожалуйста, почему массив не пишется в файл и как умножить 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  
Старый 19.01.2010, 22:02
b2soft b2soft вне форума
Прохожий
 
Регистрация: 26.11.2009
Сообщения: 8
Репутация: 10
По умолчанию

тебе надо на дробное умнгожить целое???

просто тип целого real или extended поставь.
Ответить с цитированием
  #3  
Старый 19.01.2010, 22:03
Аватар для CTAJLUH
CTAJLUH CTAJLUH вне форума
Прохожий
 
Регистрация: 02.01.2010
Адрес: г. Нижний Новгород
Сообщения: 20
Репутация: 10
По умолчанию

m: array[1..10] of integer;

замени итеджер на доибле и все
Ответить с цитированием
  #4  
Старый 19.01.2010, 22:04
Аватар для Лунтик-Некрофил
Лунтик-Некрофил Лунтик-Некрофил вне форума
Начинающий
 
Регистрация: 28.09.2009
Сообщения: 165
Репутация: 12
По умолчанию

i типа REAL.
Во writeln вместо запятых до и после ';' должны быть плюсы по идее.
Если не пишется из-за другого, то мне ща не проверить, без дельфы сижу
__________________
Алкоголик-аморал, явная угроза обществу
Блин, я уже местный, а все равно нифига не знаю...
Ответить с цитированием
  #5  
Старый 19.01.2010, 22:09
vladimir01101988 vladimir01101988 вне форума
Прохожий
 
Регистрация: 03.12.2009
Сообщения: 19
Репутация: 10
По умолчанию

Нет, плюсики не помогают, файл все равно пустой.
А умножение теперь получилось, спасибо.
Ответить с цитированием
  #6  
Старый 19.01.2010, 22:14
Аватар для Лунтик-Некрофил
Лунтик-Некрофил Лунтик-Некрофил вне форума
Начинающий
 
Регистрация: 28.09.2009
Сообщения: 165
Репутация: 12
По умолчанию

Тогда могу только тебе ща посоветовать пошагово через нажатие f5 в коде пройти все участки кода и проверить в каком месте код не выполняется.
__________________
Алкоголик-аморал, явная угроза обществу
Блин, я уже местный, а все равно нифига не знаю...
Ответить с цитированием
  #7  
Старый 19.01.2010, 22:14
Аватар для CTAJLUH
CTAJLUH CTAJLUH вне форума
Прохожий
 
Регистрация: 02.01.2010
Адрес: г. Нижний Новгород
Сообщения: 20
Репутация: 10
По умолчанию

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  
Старый 19.01.2010, 22:19
vladimir01101988 vladimir01101988 вне форума
Прохожий
 
Регистрация: 03.12.2009
Сообщения: 19
Репутация: 10
По умолчанию

но ведь при помощи этой части записывается следующий элемент в файле
Ответить с цитированием
  #9  
Старый 19.01.2010, 22:22
Аватар для CTAJLUH
CTAJLUH CTAJLUH вне форума
Прохожий
 
Регистрация: 02.01.2010
Адрес: г. Нижний Новгород
Сообщения: 20
Репутация: 10
По умолчанию

http://www.delphisources.ru/pages/fa...Write.php.html
тупо воспользовался гуглом вроде там есть ответ

тоесть нужно писать write а потом уже writeln для перехода на следующую строку
Ответить с цитированием
  #10  
Старый 19.01.2010, 22:58
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Попробуй писать в файл примерно вот так
Код:
 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);
Где name_g_I и name_g_J - число записанных столбцов и строк в массиве
Ответить с цитированием
  #11  
Старый 20.01.2010, 14:52
vladimir01101988 vladimir01101988 вне форума
Прохожий
 
Регистрация: 03.12.2009
Сообщения: 19
Репутация: 10
По умолчанию

Всем спасибо, сделал.
Если кому интересно, вот правильный код программы:
Код:
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  
Старый 20.01.2010, 16:40
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

НЕПРАВИЛЬНО!!!
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #13  
Старый 20.01.2010, 16:44
vladimir01101988 vladimir01101988 вне форума
Прохожий
 
Регистрация: 03.12.2009
Сообщения: 19
Репутация: 10
По умолчанию

что неправильно? Все??
Ответить с цитированием
  #14  
Старый 20.01.2010, 20:03
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Ну в принципе да, ВСЕ НЕПРАВИЛЬНО.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #15  
Старый 20.01.2010, 20:46
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Мдааа! Редкий набор ляпов. Такое надо в отдельную темку шедевров форума сохранять.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:22.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter