|
#1
|
|||
|
|||
простой вопрос)
Цитата:
Последний раз редактировалось denISRU, 25.03.2009 в 19:57. |
#2
|
|||
|
|||
сунулся разбираться сам, наваял
Код:
unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm3 = class(TForm) Image1: TImage; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form3: TForm3; aFile : String; implementation {$R *.dfm} procedure TForm3.Button1Click(Sender: TObject); begin TForm3.Image1.Picture.LoadFromFile('d:\temp\ks660.bmp'); end; end. гляньте кто разбирается - вроде как все на месте - может я путь к файлу не правильно задал? |
#3
|
|||
|
|||
А чего не пишешь какая ошибка?
Скорее всего, надо так: Image1.Picture.LoadFromFile('d:\temp\ks660. bmp'); "TForm3" - это описание класса и к нему не может быть обращения в коде как к экземпляру этого класса. Тогда уж: Form3.Image1....;, но и этого не требуется. Не забывайте делать резервные копии Последний раз редактировалось san-46, 24.03.2009 в 22:08. |
#4
|
|||
|
|||
в том то и дело что не пишет какая ошибка - выделяет строку целиком, а в меседже сообщает - процедура остановлена изза ошибки в строке № такойто....щас попробую по твоему - первый вариант взял из учебника по делфи
p.s. работает)) - большое спасибо ) Последний раз редактировалось denISRU, 24.03.2009 в 22:17. |
#5
|
|||
|
|||
задам вопрос тут же - чтоб не создавать новую тему.
вопрос 1. как в имеющемся коде сделать так чтобы использовался файл не из конкретной папки, а из папки с экзешником программы??? Код:
unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm3 = class(TForm) Image1: TImage; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form3: TForm3; implementation {$R *.dfm} procedure TForm3.Button1Click(Sender: TObject); begin Image1.Picture.LoadFromFile('d:\temp\ks660.bmp'); end; end. |
#6
|
|||
|
|||
на второй вопрос выродил вот такое - проверьте пожалусто на безграмотность, но все работает
Код:
var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var a,b,c,d,e:real ; begin a:=StrToFloat(form1.Edit1.Text);// из текста делаем число b:= Trunc (a/100); //получаем первую цифру c:= Trunc ((a-b*100)/10); // вторую... d:= (a-b*100)-c*10; // третью:) e:=b+c+d; //вычислили сумму Edit2.Text := FloatTostr(b) ; //следующие 3 промежуточные результаты edit3.text := FloatTostr(c) ; // для самопроверки edit4.Text := FloatTostr(d) ; edit5.Text := FloatTostr(e) ; // выводим результат end; end. |
#7
|
||||
|
||||
Цитата:
Код:
procedure TForm1.Button2Click(Sender: TObject); var s: string; begin s:= ExtractFilePath(ParamStr(0)); ShowMessage(s); end; Цитата:
Код:
procedure TForm1.Button1Click(Sender: TObject); var x, y, i: Integer; begin x:= 248; y:= 0; for i:= 1 to 3 do begin y:= y + (x Mod 10); x:= x div 10; end; ShowMessage(IntToStr(y)); end; Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра. |
#8
|
|||
|
|||
1.
Код:
Path := ExtractFilePath(Application.ExeName)+'ks660.bmp'; if FileExists(Path) then Image1.Picture.LoadFromFile(Path); //где Path : string; Код:
procedure TForm1.Button1Click(Sender: TObject); var I, Sum : Integer; begin Sum := 0; for I := 1 to Length(Edit1.Text) do Sum := Sum + StrToInt(Edit1.Text[i]); edit5.Text := IntToStr(Sum); end; Не забывайте делать резервные копии |
#9
|
|||
|
|||
Спасибо за помощь! - вопользовался всем кроме -
procedure TForm1.Button1Click(Sender: TObject); var x, y, i: Integer; begin x:= 248; y:= 0; for i:= 1 to 3 do begin y:= y + (x Mod 10); x:= x div 10; end; ShowMessage(IntToStr(y)); end; т.к. абсолютно не понял принципа работы...)) - но знаний наверное не хватает (а можно коментарий - почему 0, почему 248, что выполняется??? ) |
#10
|
||||
|
||||
mod - получение дробной части после деления (т.е. 24 mod 10 = 4)
div - получение целой части после деления (т.е. 36 div 10 = 3) Код:
procedure TForm1.Button1Click(Sender: TObject); var x, y, i: Integer; begin x:= 248; // это случайное число, которое мы будем мучать y:= 0; // обнуляем переменную, где будет сумма чисел for i:= 1 to 3 do // повторяем цикл 3 раза (т.к. число трехзначное) begin y:= y + (x Mod 10); // Получаем остаток от деления X на 10 и плюсуем его к сумме x:= x div 10; // отсекаем от X то число, которое обработали end; ShowMessage(IntToStr(y)); //выводим результат end; Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра. |
#11
|
|||
|
|||
спасиб - терь понятно - тоесть х у нас будет то что я в своем коде обозвал
a:=StrToFloat(form1.Edit1.Text); |