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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.03.2015, 10:14
Zemius Zemius вне форума
Прохожий
 
Регистрация: 26.02.2015
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
Сообщение Помогите пожалуйста в практической работе по delphi

Добрый день. Дали несколько заданий на выполнение. Учусь дистанционно. У преподавателя спросить не как. Писал в универ, о том что нужна помощь, проигнорили. Это я пишу для тех то будет просто флудить. Один раз мне у вас тут уже помогли, за что огромное спасибо. На других форумах просто засирали.
Вот описание задания.
------------------------
Задание 3
Численные значения переменных следует преобразовать в строки и только после преобразования выводить в компонент Memo. Для преобразования переменных типа Real в переменную типа строка используется функция FloatToStr(). Слово Float обозначает переменную с плавающей запятой любого типа (тип Real  один из многих типов таких переменных с дробной частью). В круглых скобках записывается имя численной переменной, которую преобразуют в строку. Скопируйте строку вывода и вставьте после второй строки вывода в поле Мемо. В круглых скобках функцию преобразования в строку значения переменной Unom.
Сохраните программу, запустите на исполнение и убедитесь, что в поле вывода появилось число, которое соответствует номинальному напряжению.
Вывод в одну строку в поле вывода можно сделать, если сложить несколько строк. Сложение строк называется командой конкатенации и обозначается символом сложения (+). В раздел описания переменных добавьте имя переменной типа строка, например, str3. Допишите в код процедуры следующую строку: str3:=str1+FloatToStr(Unom)+str2; и выведите её в поле вывода. После запуска программы, посмотрите правильно ли сделан вывод. Выведите в поле вывода значение Snom одной строкой с обозначением имени переменной, её числовым значением и единицей измерения.
-----------------------------
Вот код программы
Код:
unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
  var
    Unom, Snom: Real;
    str1, str2, str3: string;
  begin
   Unom:=10.5;   {íîìèíàëüíîå íàïðÿæåíèå â êÂ}
   Snom:=25000; {ïîëíàÿ ìîùíîñòü â êÂÀ}
   str1:= 'Unom=      ';
   str2:= 'kB';
   Memo1.Lines.Add(str1);
   Memo1.Lines.Add(str2);
   FloatToStr(Unom);
   str3:=str1+FloatToStr(Unom)+str2;
  end;

end.
------------------------------
И вот что только выводиться
Ответить с цитированием
  #2  
Старый 01.03.2015, 11:14
Аватар для @Rafa3L
@Rafa3L @Rafa3L вне форума
Начинающий
 
Регистрация: 09.11.2011
Адрес: Москва
Сообщения: 144
Версия Delphi: XE2
Репутация: 11216
По умолчанию

Код:
...
str3:=str1+FloatToStr(Unom)+str2;
Memo1.Lines.Add(str3);// ìîùâíîñâòâü êÂÀ 
end;
__________________
Помогаю платно.
Помогаю иногда бесплатно.
Ответить с цитированием
  #3  
Старый 01.03.2015, 11:44
Zemius Zemius вне форума
Прохожий
 
Регистрация: 26.02.2015
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
Хорошо

Цитата:
Сообщение от @Rafa3L
Код:
...
str3:=str1+FloatToStr(Unom)+str2;
Memo1.Lines.Add(str3);// ìîùâíîñâòâü êÂÀ 
end;
Спасибо заработало. А почему в memo при нажатии кнопки он не выводит что Unom=10.5 Snom=25000
Ответить с цитированием
  #4  
Старый 01.03.2015, 12:30
Аватар для roland196
roland196 roland196 вне форума
Прохожий
 
Регистрация: 24.02.2015
Адрес: Литва
Сообщения: 22
Версия Delphi: Turbo Delphi 10
Репутация: 10
По умолчанию

вот так надо:

Код:
unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
Unom, Snom: Real;
str1, str2, str3, str4, str5: string;

begin

Unom:=10.5;
Snom:=25000;
str1:= 'Unom=      ';
str2:= 'kB';
str5:= 'Snom=     ';

Memo1.Clear; // Ochistka polya Memo1

FloatToStr(Unom);
str3:=str1+FloatToStr(Unom)+str2;  // formirovanie stroki
Memo1.Lines.Add(str3);       //  vyvod pervoy stroki v Memo1

FloatToStr(Snom);
str4:=str5+FloatToStr(Snom)+str2;
Memo1.Lines.Add(str4);       //  vyvod vtoroy stroki v Memo1

end;

end.
__________________
не переставай удивляться обычному
Ответить с цитированием
  #5  
Старый 01.03.2015, 14:57
Zemius Zemius вне форума
Прохожий
 
Регистрация: 26.02.2015
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
Хорошо

Цитата:
Сообщение от roland196
вот так надо:

Код:
unit Unit1;

interface

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

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
Unom, Snom: Real;
str1, str2, str3, str4, str5: string;

begin

Unom:=10.5;
Snom:=25000;
str1:= 'Unom=      ';
str2:= 'kB';
str5:= 'Snom=     ';

Memo1.Clear; // Ochistka polya Memo1

FloatToStr(Unom);
str3:=str1+FloatToStr(Unom)+str2;  // formirovanie stroki
Memo1.Lines.Add(str3);       //  vyvod pervoy stroki v Memo1

FloatToStr(Snom);
str4:=str5+FloatToStr(Snom)+str2;
Memo1.Lines.Add(str4);       //  vyvod vtoroy stroki v Memo1

end;

end.
Спасибо большое человеческое
Ответить с цитированием
  #6  
Старый 02.03.2015, 10:14
Zemius Zemius вне форума
Прохожий
 
Регистрация: 26.02.2015
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Добрый день. В лабораторной №4 вроде все получилось вот только когда в код вписываю эту строчку:

Код:
memo1.Lines.Add( 'Unom ='  +Listbox1.Items[Listbox1.ItemIndex]+' êÂ' );

то выходит такая ошибка при запуске:



Вот сам код программы:
Код:
var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 Unom :real;
begin

 memo1.Clear;

 memo1.Lines.Add( 'Unom ='  +Listbox1.Items[Listbox1.ItemIndex]+' êÂ' );

 memo1.Lines.Add( 'Unom ='  +combobox1.Items[combobox1.ItemIndex]+' êÂ');
 {memo1.Lines.Add(combobox1.Items[1]);
 memo1.Lines.Add(combobox1.Items[2]);
 memo1.Lines.Add(combobox1.Items[3]);
 memo1.Lines.Add(combobox1.Items[4]);
 memo1.Lines.Add(combobox1.Items[5]);
 memo1.Lines.Add(combobox1.Items[6]);
 memo1.Lines.Add(combobox1.Items[7]);
 memo1.Lines.Add(combobox1.Items[8]);
 memo1.Lines.Add(combobox1.Items[9]);
 memo1.Lines.Add(combobox1.Items[10]);
 memo1.Lines.Add(combobox1.Items[11]);}

 ListBox1.Items[0]:='0,4';
 listBox1.Items[1]:=Combobox1.Items[1];
 
end;

procedure TForm1.FormCreate(Sender: TObject);
var
i : integer;
begin
Button1.Caption:='Ñòàðò';
For i:=0 to 11 do ListBox1.Items[i]:= ComboBox1.Items[i];
end;

end.

Подскажите пожалуйста что делаю не так. Заранее огромное спасибо.
Ответить с цитированием
  #7  
Старый 02.03.2015, 10:31
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

У вас при запуске ещё не выбран пункт в Listbox, отсюда и выход из диапазона, нужно задавать явно, напр. Listbox1.Items[0]
Ответить с цитированием
  #8  
Старый 02.03.2015, 11:16
Zemius Zemius вне форума
Прохожий
 
Регистрация: 26.02.2015
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alegun
У вас при запуске ещё не выбран пункт в Listbox, отсюда и выход из диапазона, нужно задавать явно, напр. Listbox1.Items[0]
Спасибо большое. Ошибка была в том что когда я прогу запускал не выбирал ручками что отправить в поле memo. Спасибо.
Ответить с цитированием
  #9  
Старый 03.03.2015, 17:19
Zemius Zemius вне форума
Прохожий
 
Регистрация: 26.02.2015
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Лабораторная №5

Спасибо вроде получается у самого.

Последний раз редактировалось Zemius, 03.03.2015 в 18:23.
Ответить с цитированием
  #10  
Старый 06.03.2015, 19:25
Zemius Zemius вне форума
Прохожий
 
Регистрация: 26.02.2015
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Нет картинки

Добрый вечер.

Подскажите в чем ошибка:

http://pixs.ru/showimage/Bezimyanni_...1_16349412.png

И вторая ошибка не выводит картинки,Ошибок не выдает, выбор осуществляется нормально, но картинки не появляются.

Код:
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    ComboBox1: TComboBox;
    Label2: TLabel;
    ComboBox2: TComboBox;
    LabeledEdit1: TLabeledEdit;
    LabeledEdit2: TLabeledEdit;
    LabeledEdit3: TLabeledEdit;
    LabeledEdit4: TLabeledEdit;
    LabeledEdit5: TLabeledEdit;
    LabeledEdit6: TLabeledEdit;
    CheckBox1: TCheckBox;
    BitBtn1: TBitBtn;
    Memo1: TMemo;
    Image1: TImage;
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  rho:real;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin

 ComboBox1.ItemIndex:=0;
 ComboBox2.ItemIndex:=0;
 rho:=25;
 TCheckBox.Checkbox:=True;
 TCheckBox.TCaption:='Êîëüöåâîé';
 LabeledEdit1.Visible:=True;
 LabeledEdit2.Visible:=True;
 LabeledEdit3.Visible:=True;
 LabeledEdit4.Visible:=True;
 LabeledEdit5.Visible:=True;
 LabeledEdit6.Visible:=True;

end;

procedure TForm1.ComboBox1Change(Sender: TObject);

begin

   case ComboBox1.ItemIndex of
   0:rho:=25;
   1:rho:=50;
   2:rho:=100;
   3:rho:=150;
   4:rho:=300;
   5:rho:=1000;
   6:rho:=3000;
   7:rho:=10000;
   end; {Case} 

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin
  memo1.Lines.Add(ComboBox1.Items[ComboBox1.ItemIndex]+' rho = '+FloatToStr(rho)+' Îì*ì');
end;

procedure TForm1.ComboBox2Change(Sender: TObject);

begin

 case ComboBox2.itemindex of

  0: begin
       Image1.Picture.LoadFromFile('1.jpg');
       LabeledEdit1.Visible:=True;
       LabeledEdit2.Visible:=True;
       LabeledEdit3.Visible:=false;
       LabeledEdit4.Visible:=false;
       LabeledEdit5.Visible:=false;
       LabeledEdit6.Visible:=false;
       Image1.Visible:=false;
      end; {0}

  1: begin
       Image1.Picture.LoadFromFile('2.jpg');
       LabeledEdit1.Visible:=True;
       LabeledEdit2.Visible:=True;
       LabeledEdit3.Visible:=false;
       LabeledEdit4.Visible:=false;
       LabeledEdit5.Visible:=false;
       LabeledEdit6.Visible:=false;
       Image1.Visible:=false;
      end; {1}

  2: begin
       Image1.Picture.LoadFromFile('2.jpg');
       LabeledEdit1.Visible:=True;
       LabeledEdit2.Visible:=True;
       LabeledEdit3.Visible:=false;
       LabeledEdit4.Visible:=false;
       LabeledEdit5.Visible:=false;
       LabeledEdit6.Visible:=false;
       Image1.Visible:=false;
      end; {2}

  3: begin
       Image1.Picture.LoadFromFile('3.jpg');
       LabeledEdit1.Visible:=True;
       LabeledEdit2.Visible:=True;
       LabeledEdit3.Visible:=True;
       LabeledEdit4.Visible:=false;
       LabeledEdit5.Visible:=false;
       LabeledEdit6.Visible:=false;
       Image1.Visible:=false;
      end; {3}

 end; {case }

end;

end.
Ответить с цитированием
  #11  
Старый 06.03.2015, 19:25
Zemius Zemius вне форума
Прохожий
 
Регистрация: 26.02.2015
Сообщения: 13
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Нет картинки

Добрый вечер.

Подскажите в чем ошибка:

http://pixs.ru/showimage/Bezimyanni_...1_16349412.png

И вторая ошибка не выводит картинки,Ошибок не выдает, выбор осуществляется нормально, но картинки не появляются.

Код:
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    ComboBox1: TComboBox;
    Label2: TLabel;
    ComboBox2: TComboBox;
    LabeledEdit1: TLabeledEdit;
    LabeledEdit2: TLabeledEdit;
    LabeledEdit3: TLabeledEdit;
    LabeledEdit4: TLabeledEdit;
    LabeledEdit5: TLabeledEdit;
    LabeledEdit6: TLabeledEdit;
    CheckBox1: TCheckBox;
    BitBtn1: TBitBtn;
    Memo1: TMemo;
    Image1: TImage;
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  rho:real;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin

 ComboBox1.ItemIndex:=0;
 ComboBox2.ItemIndex:=0;
 rho:=25;
 TCheckBox.Checkbox:=True;
 TCheckBox.TCaption:='Êîëüöåâîé';
 LabeledEdit1.Visible:=True;
 LabeledEdit2.Visible:=True;
 LabeledEdit3.Visible:=True;
 LabeledEdit4.Visible:=True;
 LabeledEdit5.Visible:=True;
 LabeledEdit6.Visible:=True;

end;

procedure TForm1.ComboBox1Change(Sender: TObject);

begin

   case ComboBox1.ItemIndex of
   0:rho:=25;
   1:rho:=50;
   2:rho:=100;
   3:rho:=150;
   4:rho:=300;
   5:rho:=1000;
   6:rho:=3000;
   7:rho:=10000;
   end; {Case} 

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin
  memo1.Lines.Add(ComboBox1.Items[ComboBox1.ItemIndex]+' rho = '+FloatToStr(rho)+' Îì*ì');
end;

procedure TForm1.ComboBox2Change(Sender: TObject);

begin

 case ComboBox2.itemindex of

  0: begin
       Image1.Picture.LoadFromFile('1.jpg');
       LabeledEdit1.Visible:=True;
       LabeledEdit2.Visible:=True;
       LabeledEdit3.Visible:=false;
       LabeledEdit4.Visible:=false;
       LabeledEdit5.Visible:=false;
       LabeledEdit6.Visible:=false;
       Image1.Visible:=false;
      end; {0}

  1: begin
       Image1.Picture.LoadFromFile('2.jpg');
       LabeledEdit1.Visible:=True;
       LabeledEdit2.Visible:=True;
       LabeledEdit3.Visible:=false;
       LabeledEdit4.Visible:=false;
       LabeledEdit5.Visible:=false;
       LabeledEdit6.Visible:=false;
       Image1.Visible:=false;
      end; {1}

  2: begin
       Image1.Picture.LoadFromFile('2.jpg');
       LabeledEdit1.Visible:=True;
       LabeledEdit2.Visible:=True;
       LabeledEdit3.Visible:=false;
       LabeledEdit4.Visible:=false;
       LabeledEdit5.Visible:=false;
       LabeledEdit6.Visible:=false;
       Image1.Visible:=false;
      end; {2}

  3: begin
       Image1.Picture.LoadFromFile('3.jpg');
       LabeledEdit1.Visible:=True;
       LabeledEdit2.Visible:=True;
       LabeledEdit3.Visible:=True;
       LabeledEdit4.Visible:=false;
       LabeledEdit5.Visible:=false;
       LabeledEdit6.Visible:=false;
       Image1.Visible:=false;
      end; {3}

 end; {case }

end;

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

1. Попробуйте изменить:
Код:
Image1.Visible:=false; 
на
Код:
Image1.Visible:=true;
2. Учитесь оптимизировать код. В вашем кейсе одно и то-же почти без изменений 4 раза. Вынесите за кейс, то что едино примерно так:
Код:
procedure TForm1.ComboBox2Change(Sender: TObject);
begin
 LabeledEdit1.Visible:=True;
 LabeledEdit2.Visible:=True;
 LabeledEdit3.Visible:=False;
 LabeledEdit4.Visible:=false;
 LabeledEdit5.Visible:=false;
 LabeledEdit6.Visible:=false;
 Image1.Visible:=false;
 case ComboBox2.itemindex of
  0: begin
      Image1.Picture.LoadFromFile('1.jpg');
     end; {0}
  1: begin
      Image1.Picture.LoadFromFile('2.jpg');
     end; {1}
  2: begin
       Image1.Picture.LoadFromFile('2.jpg');
     end; {2}
  3: begin
      Image1.Picture.LoadFromFile('3.jpg');
      LabeledEdit3.Visible:=True;
     end; {3}
 end; {case }
 Image1.Visible :=True;
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение:
Zemius (08.03.2015)
  #13  
Старый 07.03.2015, 07:44
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Продолжение позерства:
Код:
procedure TForm1.ComboBox2Change(Sender: TObject);
begin
 LabeledEdit1.Visible:=True;
 LabeledEdit2.Visible:=True;
 LabeledEdit3.Visible:=False;
 LabeledEdit4.Visible:=false;
 LabeledEdit5.Visible:=false;
 LabeledEdit6.Visible:=false;
 Image1.Visible:=false;
 Image1.Picture.LoadFromFile(inttostr(ComboBox2.itemindex)+'.jpg');
 LabeledEdit3.Visible:=(ComboBox2.itemindex = 3);
 Image1.Visible :=True;
end;

__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
Zemius (08.03.2015)
  #14  
Старый 07.03.2015, 10:55
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Э нет, не пойдет прямая подстановка индекса. У него для значения 1 и 2 картинки одинаковые.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #15  
Старый 07.03.2015, 20:29
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Айтемсы комбобоска могут хранить объекты, в которых может быть прописан путь к файлу.
Так что:
Код:
Image1.Picture.LoadFromFile(TFoo(ComboBox2.items.objects[ComboBox2.itemindex]).PicturePath);
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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