Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: В lazarus не работают операторы write и writeln  (Прочитано 3068 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mlepehin

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
  • Скорее бы лето!
    • Просмотр профиля
    • Сайт Михаила Лепёхина
Что надо сделать, чтобы они заработали? Есть ли к ним аналоги?
Mr. M. Lepehin

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: В lazarus не работают операторы write и writeln
« Ответ #1 : 19 Августа 2012, 15:55:52 »
fpc
Wars ~.o

Оффлайн mlepehin

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
  • Скорее бы лето!
    • Просмотр профиля
    • Сайт Михаила Лепёхина
Re: В lazarus не работают операторы write и writeln
« Ответ #2 : 19 Августа 2012, 15:58:06 »
Мне они нужны в lazarus. FPC тут ни к чему.
Mr. M. Lepehin

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 755
    • Просмотр профиля
Re: В lazarus не работают операторы write и writeln
« Ответ #3 : 20 Августа 2012, 08:04:58 »
А куда вы  хотите выводить?

Xanych

  • Гость
Re: В lazarus не работают операторы write и writeln
« Ответ #4 : 20 Августа 2012, 08:09:59 »
write и writeln выводят в консоль. Вы пишите консольное приложение?

Оффлайн mlepehin

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
  • Скорее бы лето!
    • Просмотр профиля
    • Сайт Михаила Лепёхина
Re: В lazarus не работают операторы write и writeln
« Ответ #5 : 20 Августа 2012, 11:55:40 »
write и writeln выводят в консоль. Вы пишите консольное приложение?
Нет. Мне нужен вывод данных в файл. Насколько я помню, в fpc этот оператор работал.
Вот код главного окна приложения:
unit fast_m;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  ExtCtrls, Grids, StdCtrls, Menus, Buttons, about;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Image5: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    MainMenu1: TMainMenu;
    Memo1: TMemo;
    MenuItem1: TMenuItem;
    MenuItem2: TMenuItem;
    MenuItem3: TMenuItem;
    MenuItem5: TMenuItem;
    MenuItem6: TMenuItem;
    MenuItem7: TMenuItem;
    OpenDialog1: TOpenDialog;
    sd1: TSaveDialog;
    Shape1: TShape;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure MenuItem5Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
if Label3.caption='' then
Button1.visible:=false;
Button4.visible:=true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin

end;

procedure TForm1.Button2Click(Sender: TObject);
var
a:textfile;
b:string;
c:integer;
begin
if OpenDialog1.Execute=true then
Label1.Caption:=OpenDialog1.FileName;
assignFile (a, Label1.Caption);
reset (a);
readln (a, b);
readln (a, c);
Label2.Caption:=b;
Label3.Caption:=inttostr(c);
Button1.visible:=true;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Form2.visible:=true;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
Button1.visible:=false;
Button2.visible:=false;
Button3.visible:=false;
Button4.visible:=false;
Button5.visible:=true;
Memo1.visible:=true;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
 if sd1.execute=true then
Memo1.Lines.SaveToFile(sd1.FileName);
Button1.visible:=true;
Button2.visible:=true;
Button3.visible:=true;
Button4.visible:=false;
Button5.visible:=false;
Memo1.visible:=false;
end;

procedure TForm1.MenuItem5Click(Sender: TObject);
begin
close;
end;


initialization
  {$I fast_m.lrs}

end.
                 

Пользователь решил продолжить мысль 20 Августа 2012, 11:57:47:
Операторы read и readln работают. Мне это нужно для небольшой игры. writeln нужен для сохранения игры и вывода данных в файл. Есть ли для этого другие операторы?
« Последнее редактирование: 20 Августа 2012, 11:57:47 от mlepehin »
Mr. M. Lepehin

Xanych

  • Гость
Re: В lazarus не работают операторы write и writeln
« Ответ #6 : 20 Августа 2012, 12:05:41 »
  И? Что-то я не заметил, чтобы вы использовали write(writeln). Вы только читаете файл.
 
 В чем суть их не работы? Ошибку выдают?

Оффлайн mlepehin

  • Автор темы
  • Любитель
  • *
  • Сообщений: 68
  • Скорее бы лето!
    • Просмотр профиля
    • Сайт Михаила Лепёхина
Re: В lazarus не работают операторы write и writeln
« Ответ #7 : 20 Августа 2012, 12:10:25 »
  И? Что-то я не заметил, чтобы вы использовали write(writeln). Вы только читаете файл.
 
 В чем суть их не работы? Ошибку выдают?

Это отредактированный файл. Оттуда я уже удалил операторы writeln.Ошибок не выдают. Но они вообще не работают. Когда запускаешь программу, хочешь записать данные в файл, writeln просто создаёт новый пустой файл и на этом работа оператора почему-то заканчивается.
Mr. M. Lepehin

Xanych

  • Гость
Re: В lazarus не работают операторы write и writeln
« Ответ #8 : 20 Августа 2012, 12:12:30 »
 С правами все хорошо? Приведите просто вариант кода с writeln, который вы используете.

Оффлайн kosteek

  • Участник
  • *
  • Сообщений: 193
    • Просмотр профиля
Re: В lazarus не работают операторы write и writeln
« Ответ #9 : 20 Августа 2012, 15:10:27 »
Данные для сохранения в каком виде?

 

Страница сгенерирована за 0.019 секунд. Запросов: 22.