x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Uložení do tabulky a zpětné vytažení - Delphi - Fórum - Programujte.comUložení do tabulky a zpětné vytažení - Delphi - Fórum - Programujte.com

 

Toto vlákno bylo označeno za vyřešené – odkaz na příspěvek s řešením
dyžon
Stálý člen
31. 5. 2012   #1

Zdravím všechny profíky...

Jsem zatim lama a v zacatku uceni,ale chtel bych si udelat takovej projekt na evidenci znamek a prosim o pomoc.

Mozna vytvorit tuto prosbu bude trvat dele, nez jeji reseni,ale co uz.

Toto je muj jednoduchy projekt:

1. nevim, jak vyvolat proces otevreni cesty k souboru, tusim ze pres komponentu "OpenPictureDialog" , ale co mam napsat do procedury vlastnosti "OnClick" tlacitka "Vybrat"  ???  ...  proste uplna lama

2. chtel bych vsechny texty z editů (cesta k obrazku,data1, ..... a pod.) vlozit pres tlacitko "Uložit" do prislusnych poli v tabulce. Zrejme musim definovat promenne pro kazdy "Edit" ,ale opet nevim,jak zapsat proceduru vlastnosti "OnClick" tlacitka "Uložit"

3. jak udelat, aby kdyz dvakrat kliknu na radek v tabulce se mi zpet vypsaly ty informace nahoru do editů. To proto, ze planuju pozdeji vytvorit formular,ktery bych tiskl. Tech informaci, ktere se budou vkladat bude ve finale mnohem vic, tohle je jen zjednoduseny priklad.

Je mi jasny,ze zrejme namitnete, kdyz nic neumis, tak se do toho ne...r, ale jsem samouk ve vetsine veci co delam, treba programovani stranek a podobne a tam uz mam vysledky. Ucim se rychle  a hlavne nejlip z uz hotovych prikladu, ktery se snazim pochopit a zjistit co jak funguje proc a k cemu. Literaturu ctu samozrejme taky.

Pro jistotu jeste uvedu zdrojak:

=======================================================================================

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, DB, DBTables, Grids, DBGrids, StdCtrls, jpeg;

type
  TForm1 = class(TForm)
    BtUlozit: TButton;
    EData1: TEdit;
    EData3: TEdit;
    EData2: TEdit;
    LData1: TLabel;
    LData2: TLabel;
    LData3: TLabel;
    ECestaKObrazku: TEdit;
    LCesta: TLabel;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    TTabulka: TTable;
    IObrazek: TImage;
    BtVybrat: TButton;
    procedure BtVybratClick(Sender: TObject);
    procedure BtUlozitClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BtVybratClick(Sender: TObject);
begin

end;

procedure TForm1.BtUlozitClick(Sender: TObject);
begin

end;

end.

===================================================================================== 

pokud by se nasel nekdo, komu by nevadilo tyto procedury vepsat primo do zdrojaku,(opet bych se neco naucil z jiz hotove veci,kterou bych potom prevadel na skutecnou slozitejsi aplikaci), tak zabalim a nekam uploudnu celej projekt,ale jsem realista a budu moc rad za kazdou radu.

predem diky, mejte se, ...

OMLOUVÁM SE ZA TU DIAKRITIKU ...., už se mi to nechce přepisovat.

---  
Nahlásit jako SPAM
IP: 89.102.38.–
Reklama
31. 5. 2012   #2

#1 dyžon
0. na podobé problémy doporučuji knihu Delphi v příkladech od Tomáše Holana. Je velmi stručná a názorná.

1. pod OnClick při otvírání napsat

               OpenPictureDialog1.execute;

               Image1.picture.loadfromfile(OpenPictureDialog1.filename)

2. stringgrid1.cells[sloupec,radek]:=editX.text

---  
Nahlásit jako SPAM
IP: 78.128.196.–
dyžon
Stálý člen
1. 6. 2012   #3

#2 hege6

0.  Tu knizku uz mam, musim rict, ze je to knizka, ktera mi zatim nejvic pomohla, ale tohle jsem tam bohuzel nenasel.

1. Pod Tvoje dva radky jsem se snazil jeste vypsat::   ECestaKObrazku.Text :=
                                                                                      (OpenPictureDialog1.FileName.AsString)
                      ale je to spatne. Z ceho nactu cestu toho obrazku do Editu "ECestaKObrazku" ??? abych ji mohl potom ulozit spolu s ostatnima Editama do tabulky .

2. takze podle Tebe je pouziti DBGrid spatne a mel bych pouzit Stringgrid ?? 
    Stringgrid ale nema zadnou vlastnost jako je "Columns" ..  kde teda upravovat jeho vlastnosti ??
    nema dokonce ani "DataSource"

Jsem z toho tak trochu zmatenej, Myslis, ze bych Te precejen mohl poprosit, ze bych Ti poslal soubory z projektu a Ty by jsi mi to dopsal ??  pokud ne, tak se rozhodne zlobit nebudu a budu se v tom dal brodit ..  ,kdybych to ovsem videl hotove, urcite bych to pochopil driv ...

---  
Nahlásit jako SPAM
IP: 89.102.38.–
dyžon
Stálý člen
1. 6. 2012   #4

Tak problem 3. uz jsem vyresil, pouzil jsem komponenty DBEdit a DBText ...
ted jeste potrebuju poradit s tim, jak zapsat ty udaje z Editu do Tabulky DBGird ...

---  
Nahlásit jako SPAM
IP: 89.102.38.–
Honzc
Stálý člen
4. 6. 2012   #5

#4 dyžon
1. Třeba takto s použitím StringGridu.

procedure TForm1.BtVybratClick(Sender: TObject);
var cesta: String;
begin
  if OpenPictureDialog1.Execute then
  begin
    cesta := ExtractFilePath(OpenPictureDialog1.FileName);
    Edit1.Text := cesta;
    StringGrid1.Cells[4,1] := cesta;
    Image1.Picture.LoadFromFile(OpenPictureDialog1.filename);
  end;
end;

Šířky řádků můžeš nadefinovat takto:

procedure TForm1.FormCreate(Sender: TObject);
begin
  StringGrid1.ColWidths[0] := 10;
  StringGrid1.ColWidths[4] := 140;
end;

---  -1 Mimo téma
Nahlásit jako SPAM
IP: 93.181.78.–
Řešení
dyžon
Stálý člen
8. 6. 2012   #6

Dekuju vsem za prispevky, ale nakonec jsem si pozval kamose z byvale prace a ten mi to vyresil, ...

Pro zajemce dam k dispozici kod.

Misto Edit jsem nakonec pouzil komponentu DBEdit ..

Tohle je procedura,ktera zjistuje z field (0)  {1.sloupec v tabulce .. identifikacni cislo} tu nejvyssi hodnotu, pricte k ni 1 a automaticky vepise do DBEdit .. Data1: 

procedure TForm2.FormShow(Sender: TObject);
var novahodnota: integer;
begin
  if operation = oInsert then
  begin
  query1.SQL.add('select max(data1) from znamky.db');
  query1.Open;
  NovaHodnota := strToInt(query1.Fields[0].asstring) + 1;
  query1.Close;
  datasource.DataSet.insert;
  datasource.DataSet.FieldByName('data1').AsString := inttostr(novahodnota);
  end
  else
  datasource.DataSet.edit;
end;

Tato procedura  uklada do tabulky hodnoty vsech BDEditu kliknutim na tlacitko "Ulozit"

procedure TForm2.BtUlozitClick(Sender: TObject);
begin
  datasource.DataSet.post;
  modalresult := mrOK;

---     Vyřešeno Nejlepší odpověď
Nahlásit jako SPAM
IP: 89.102.38.–
Vlákno je označeno za vyřešené – příspěvek s řešením
Zjistit počet nových příspěvků

Nápověda: Označení konkrétního příspěvku jako řešení

Najeď na příspěvek, který obsahuje řešení, rozbal nabídku možnosti (dle obrázku) a klikni na Označit jako řešení.

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

Vložení zdrojového kódu

Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek na disku:

Vložení videa

Vlož URL adresu videa:
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
x
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj toto vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními (pošleme ti mejl).
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé: 0 registrovaných, 19 hostů

 

Hostujeme u Českého hostingu  |  ∆ Nahoru  |  ISSN 1801-1586 Webtea.cz logo © 20032013 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý