Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> IntToStr, problem 
:(
    Опции темы
aleksandrfnsv1
  Дата 2.5.2008, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 5.4.2008

Репутация: нет
Всего: нет



Помогите разобраться почему не работает inttostr
Код

unit Unit2;

interface
    type
  TPismo = class
         private
         kolp,size,prioritet:integer;
         public
        constructor Create (akolp,asize,aprioritet:integer);
        function Getkolp:integer;
        function getsize:integer;
        function getprioritet:integer;
    end;

  TMas = class
  private
      count:integer;
      mas:array [1..18] of TPismo;
  public
      constructor Create ;
      procedure add( akolp,asize,aprioritet:integer);
      procedure del;
    // procedure masview;
     function view:string;
  end;

implementation

constructor TPismo.Create (akolp,asize,aprioritet:integer);
begin
     kolp:=akolp;
     size:=asize;
     prioritet:=aprioritet;
end;

function  TPismo.Getkolp:integer;  //TInf.GetFam: string;
begin
 Result := random(5)+1;
end;

function TPismo.getsize:integer;  //TInf.GetName: string;
begin
 Result := random(14000)+10;
end;

function TPismo.getprioritet:integer;   //TInf.GetFam: string;
begin
 Result := random(3)+1;
end;

constructor TMas.Create;
begin
      count:=1;
      Mas[1]:=TPismo.Create(0,0,0);
end;

procedure Tmas.add (akolp,asize,aprioritet: integer);
var NewElem:TPismo;i:integer;
begin
       newElem:=TPismo.Create(akolp,asize,aprioritet);     //Tinf.Create(aFam,aName);
       //count:=count+1;
       for i:=18 downto 2 do //
       mas[i]:=mas[i-1];   //
       mas[2]:=newelem;
       inc(count);     //
end;

procedure TMas.del;
var i:integer;
  begin
      for i:=1 to count-1 do mas[i]:=mas[i+1];
      count:=count-1;
  end;



function TMas.view;   //function Tmas.masview;
var i,a,b,c:integer;s:string;
begin

   for i:=1 to 18 do
   begin
    a:=mas[i].Getkolp;
    b:= mas[i].getsize;
    c:=mas[i].getprioritet;
   s:=s+ inttostr(a)+''+inttostr(b)+''+inttostr(c)+#13;
   result:=s;
    end;
end;

нend.



на всякий случай прикрепил сам проектик smile  smile 


Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  new.rar 3,04 Kb
PM MAIL   Вверх
Telepyz
Дата 2.5.2008, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 9.7.2007

Репутация: нет
Всего: 1



А почему у тебя в программе не подключаются ни какие модули???

Если не работает только IntToStr то напиши так

Код

unit Unit2;

interface

uses                        //Я добавил вот эту строку
  SysUtils;                //подключения модулей

    type
  TPismo = class
         private
         kolp,size,prioritet:integer;
         public
        constructor Create (akolp,asize,aprioritet:integer);
        function Getkolp:integer;
        function getsize:integer;
        function getprioritet:integer;
    end;

  TMas = class
  private
      count:integer;
      mas:array [1..18] of TPismo;
  public
      constructor Create ;
      procedure add( akolp,asize,aprioritet:integer);
      procedure del;
    // procedure masview;
     function view:string;
  end;

implementation

constructor TPismo.Create (akolp,asize,aprioritet:integer);
begin
     kolp:=akolp;
     size:=asize;
     prioritet:=aprioritet;
end;

function  TPismo.Getkolp:integer;  //TInf.GetFam: string;
begin
 Result := random(5)+1;
end;

function TPismo.getsize:integer;  //TInf.GetName: string;
begin
 Result := random(14000)+10;
end;

function TPismo.getprioritet:integer;   //TInf.GetFam: string;
begin
 Result := random(3)+1;
end;

constructor TMas.Create;
begin
      count:=1;
      Mas[1]:=TPismo.Create(0,0,0);
end;

procedure Tmas.add (akolp,asize,aprioritet: integer);
var NewElem:TPismo;i:integer;
begin
       newElem:=TPismo.Create(akolp,asize,aprioritet);     //Tinf.Create(aFam,aName);
       //count:=count+1;
       for i:=18 downto 2 do //
       mas[i]:=mas[i-1];   //
       mas[2]:=newelem;
       inc(count);     //
end;

procedure TMas.del;
var i:integer;
  begin
      for i:=1 to count-1 do mas[i]:=mas[i+1];
      count:=count-1;
  end;



function TMas.view;   //function Tmas.masview;
var i,a,b,c:integer;s:string;
begin

   for i:=1 to 18 do
   begin
    a:=mas[i].Getkolp;
    b:= mas[i].getsize;
    c:=mas[i].getprioritet;
   s:=s+ inttostr(a)+''+inttostr(b)+''+inttostr(c)+#13;
   result:=s;
    end;
end;

end.

--------------------
обновить драйвер
PM MAIL   Вверх
Poseidon
Дата 2.5.2008, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 9
Всего: 133



Цитата(Telepyz @  2.5.2008,  13:34 Найти цитируемый пост)
А почему у тебя в программе не подключаются ни какие модули???
Верно! Если не хочешь 2тягать лишний груз" в виде SysUtils, то скопируй оттуда эту функцию.

Код
function IntToStr(Value: Integer): string;
asm
        PUSH    ESI
        MOV     ESI, ESP
        SUB     ESP, 16
        XOR     ECX, ECX     
        PUSH    EDX            
        XOR     EDX, EDX     
        CALL    CvtInt
        MOV     EDX, ESI
        POP     EAX            
        CALL    System.@LStrFromPCharLen
        ADD     ESP, 16
        POP     ESI
end;


и вставь ее после implementation


--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
aleksandrfnsv1
  Дата 2.5.2008, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 5.4.2008

Репутация: нет
Всего: нет



да я подключил SysUtils.

Не могли бы вы мне подсказать прога правильно работает или нет, если  у меня должен быть один массив, который заполняется от 0 до 2 сообщений в секунду, или я создаю много массивов что то не пойму.
Да и еще почему то не могу испоьзовать TPismo.Destroy, который мне необходим для удаления сообщений, которые не поместились в массив.
Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, unit2, ExtCtrls, StdCtrls, Grids;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
   Mas1:TMas;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
memo1.Clear;
Mas1:=TMas.Create;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
begin
Mas1.add(random(4)+1,random(4)+1,random(3)+1);
memo1.Lines.Add(mas1.view+#10);
end;



end.





unit Unit2;

interface
    type
  TPismo = class
         private
         kolp,size,prioritet:integer;
         public
        constructor Create (akolp,asize,aprioritet:integer);
        destructor Destroy;
        function Getkolp:integer;
        function getsize:integer;
        function getprioritet:integer;
    end;

  TMas = class
  private
      count:integer;
      mas:array [1..18] of TPismo;
  public
      constructor Create ;
      procedure add( akolp,asize,aprioritet:integer);
      procedure del;
    // procedure masview;
     function view:string;
  end;

implementation

constructor TPismo.Create (akolp,asize,aprioritet:integer);
begin
     kolp:=akolp;
     size:=asize;
     prioritet:=aprioritet;
end;

destructor TPismo.Destroy;
begin
  kolp:=0;
  size:=0;
  prioritet:=0;
end;

function  TPismo.Getkolp:integer;  //TInf.GetFam: string;
begin
 Result := random(5)+1;
end;

function TPismo.getsize:integer;  //TInf.GetName: string;
begin
 Result := random(14000)+10;
end;

function TPismo.getprioritet:integer;   //TInf.GetFam: string;
begin
 Result := random(3)+1;
end;

constructor TMas.Create;
begin
      count:=1;
      Mas[1]:=TPismo.Create(0,0,0);
end;

procedure Tmas.add (akolp,asize,aprioritet: integer);
var NewElem:TPismo;i:integer;
begin
if count<=18 then
      begin
       newElem:=TPismo.Create(akolp,asize,aprioritet);     //Tinf.Create(aFam,aName);
       count:=count+1;
       for i:=random(2)+1 downto 2 do //
       mas[i]:=mas[i-1];   //
       mas[1]:=newelem;
       //inc(count);
       end ;
end;

procedure TMas.del;
var i:integer;
  begin
      for i:=1 to count-1 do mas[i]:=mas[i+1];
      count:=count-1;
  end;

function TMas.view;   //function Tmas.masview;
var i,a,b,c:integer;s:string;
begin
   for i:=1 to count do
   begin
    a:=mas[i].Getkolp;
    b:= mas[i].getsize;
    c:=mas[i].getprioritet;
   s:=s  +  inttostr(a) +  '  '  + inttostr(b) + '  '  +  inttostr(c)  +  #13;
   result:=s;
    end;
end;


end.
 :sample 


Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  new.rar 161,32 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0443 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.