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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2010, 21:25   #1
cobkrs
 
Регистрация: 29.09.2010
Сообщений: 7
По умолчанию Бываю подводной лодкой

Код:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TForm3 = class(TForm)
    Memo1: TMemo;
    BitBtn1: TBitBtn;
    Memo2: TMemo;
    Button1: TButton;
    procedure BitBtn1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}
Type arr=array [1..15]of integer;
var isx:arr;
n:integer;
sss:integer;
procedure TForm3.BitBtn1Click(Sender: TObject);
var  i:integer;
begin
n:=memo1.Lines.Count;
sss:=strtoint(memo1.Lines[0]);
if i=0 then else
i:=i+1;
for i:= 1 to n do
isx[i]:=strtoint(memo1.Lines[i-1]);
end;
procedure TForm3.Button1Click(Sender: TObject);
var i,d,count:integer;
a: string[100];
b:chr(#39);
c:string[100];
lebl:arr;
begin
d:=1;
d:=sss;
sss:=memo1.Lines[i];
if i=0  then else
i:=i+1;
for i:= 1 to n do
begin
sss:= inttostr(a);
c:=b+a+b+'+#13';
c:=strtoint(d);
   end;
  begin
    lebl[d]:=isx[sss];
    d:=d+1;
  end;
  count:=d-1;
  sss:=StrtoInt(memo1.Lines[i]);
  for i := 1 to count do
    memo2.Lines.Add(inttostr(lebl[i]));
end;

end.
[DCC Warning] Unit3.pas(39): H2077 Value assigned to 'i' never used
[DCC Warning] Unit3.pas(38): W1036 Variable 'i' might not have been initialized
[DCC Error] Unit3.pas(46): E2008 Incompatible types
[DCC Error] Unit3.pas(52): E2010 Incompatible types: 'Integer' and 'string'
[DCC Error] Unit3.pas(57): E2250 There is no overloaded version of 'IntToStr' that can be called with these arguments
[DCC Error] Unit3.pas(58): E2008 Incompatible types
[DCC Error] Unit3.pas(59): E2010 Incompatible types: 'string' and 'Integer'
[DCC Error] Project3.dpr(5): F2063 Could not compile used unit 'Unit3.pas'

Последний раз редактировалось Stilet; 30.09.2010 в 09:35.
cobkrs вне форума Ответить с цитированием
Старый 30.09.2010, 09:36   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
b:chr(#39);
Этим ты что хотел сделать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.09.2010, 10:53   #3
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Код:
Const
b : Char = #39
для паскакаля. В дельфе помойму можно и в секции Var такое проделать.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 30.09.2010, 10:55   #4
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от Tronix Посмотреть сообщение
Код:
Const
b : Char = #39
для паскакаля. В дельфе помойму можно и в секции Var такое проделать.
Код:
Const
b = #39
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Старый 30.09.2010, 11:01   #5
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от Sparkman Посмотреть сообщение
Код:
Const
b = #39
Так ругнется на эту строку, что несоответствие типов:
Код:
c:=b+a+b+'+#13';
и будет черт возьми прав ))
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 30.09.2010, 11:03   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
для паскакаля
)))))))))))))))))))
Цитата:
В дельфе помойму можно и в секции Var такое проделать.
И все же хотелось бы услышать автора, мало ли...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.10.2010, 04:39   #7
cobkrs
 
Регистрация: 29.09.2010
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Tronix Посмотреть сообщение
Так ругнется на эту строку, что несоответствие типов:
Код:
c:=b+a+b+'+#13';
и будет черт возьми прав ))
Так что делать? Хотел сделать чтоб символ - ' обособлял и я б в другой программе бы не печатал его. Подскажите по текучим ошибкам. Так охота, чтоб не ругался.
cobkrs вне форума Ответить с цитированием
Старый 01.10.2010, 07:54   #8
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

sss:=memo1.Lines[i]; - можно ли переменной числового типа присваивать строку? Компилятор в полном недоумении.
sss:= inttostr(a); - еще хлеще: попытка передать в функцию принимающую числовой параметр строку (компилятор визжит от восторга).
Так проще: sss := a.
#13 - это и есть символ и обрамлять его кавычками ('#13') себе дороже.
c:=strtoint(d); - здесь все с точностью до наоборот: c := IntToStr(d); - если надо преобразовать число в строку.

Общий совет автору: внимания при кодировании программы не бывает слишком много.
Прик вне форума Ответить с цитированием
Старый 01.10.2010, 08:22   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Так что делать?
Для начала открыть кингстоны, и пропеть Прощание славянки этому коду.
Мало того что он ниразу не рабетает, так еще и непонятно что ты хотел.
Например :
Цитата:
sss:=memo1.Lines[i];
...
sss:= inttostr(a);
...
Это совершенно непонятные конструкции. Либо же ты перепутал.
Если написать так:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    BitBtn1: TBitBtn;
    Memo2: TMemo;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 Type arr=array [1..15]of integer;

var isx:arr;
n:integer;
sss:integer;

  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
const c=#39;
var s:string[100];
begin
 s:=c;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
var  i:integer;
begin
  n:=memo1.Lines.Count;
  sss:=strtoint(memo1.Lines[0]);
  if i=0 then else  i:=i+1;
  for i:= 1 to n do  isx[i]:=strtoint(memo1.Lines[i-1]);
end;


procedure TForm1.Button1Click(Sender: TObject);
const b=#39;
var i,d,count:integer;
a: string[100];
c:string[100];
lebl:arr;
begin
d:=1;
d:=sss;
if i=0  then else
i:=i+1;
for i:= 1 to n do
begin
sss:= strtoint(a);
c:=b+a+b+'+#13';
c:=inttostr(d);
   end;
  begin
    lebl[d]:=isx[sss];
    d:=d+1;
  end;
  count:=d-1;
  sss:=StrtoInt(memo1.Lines[i]);
  for i := 1 to count do
    memo2.Lines.Add(inttostr(lebl[i]));
end;


end.
Скомпилируется, но...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.10.2010, 01:22   #10
cobkrs
 
Регистрация: 29.09.2010
Сообщений: 7
По умолчанию Работа над ошибками

Цитата:
Сообщение от Прик Посмотреть сообщение
sss:=memo1.Lines[i]; - можно ли переменной числового типа присваивать строку? Компилятор в полном недоумении.
sss:= inttostr(a); - еще хлеще: попытка передать в функцию принимающую числовой параметр строку (компилятор визжит от восторга).
Так проще: sss := a.
#13 - это и есть символ и обрамлять его кавычками ('#13') себе дороже.
c:=strtoint(d); - здесь все с точностью до наоборот: c := IntToStr(d); - если надо преобразовать число в строку.

Общий совет автору: внимания при кодировании программы не бывает слишком много.
1. Ошибка Исправление
тип указан как не задекларируемый тип объявлен наряду `>=
2.стиль был без критерия критерии установлены
3.непредусмотрен код в коде программы скомп. написано без'#13
Получилось:
Код:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TForm3 = class(TForm)
    Memo1: TMemo;
    BitBtn1: TBitBtn;
    Memo2: TMemo;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 Type arr=array [1..15]of integer;
 var isx:arr;
n:integer;
sss:integer;
 Form3:TForm3;
implementation

{$R *.dfm}
procedure TForm3.FormCreate(Sender: TObject);
const c=#39;
var s:string;
 begin
 s:=c;
end;
procedure TForm3.BitBtn1Click(Sender: TObject);
var  i:integer;
begin
n:=memo1.Lines.Count;
sss:=strtoint(memo1.Lines[0]);
if i=0 then else i:=i+1;
for i:= 1 to n do isx[i]:=strtoint(memo1.Lines[i-1]);
end;
procedure TForm3.Button1Click(Sender: TObject);
var i,d,count:integer;
a:string[100];
b:string[100];
lebl:arr;
begin
d:=1;
d:=sss;
sss:=strtoint(memo1.Lines[i]);
if i=0  then else
i:=i+1;
for i:= 1 to n do
begin
sss:=strtoint(a);
b:=s+a+s+#13;
b:=inttostr(d);
   end;
  begin
    lebl[d]:=isx[sss];
    d:=d+1;
  end;
  count:=d-1;
  sss:=StrtoInt(memo1.Lines[i]);
  for i := 1 to count do
    memo2.Lines.Add(inttostr(lebl[i]));
end;

end.
[DCC Warning] Unit3.pas(42): H2077 Value assigned to 'i' never used
[DCC Warning] Unit3.pas(42): W1036 Variable 'i' might not have been initialized
[DCC Error] Unit3.pas(59): E2003 Undeclared identifier: 's'
[DCC Error] Project3.dpr(5): F2063 Could not compile used unit 'Unit3.pas'
Незнаю, что делать, друзья. Хочу в сборнике стихов простой программы не вставлять 'буквы в словах'+#13 Надеюсь.

Последний раз редактировалось Stilet; 14.10.2010 в 08:07.
cobkrs вне форума Ответить с цитированием
Ответ


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