Získání hodnot z formuláře pro přidání záznamu – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Získání hodnot z formuláře pro přidání záznamu – C / C++ – Fórum – Programujte.comZískání hodnot z formuláře pro přidání záznamu – C / C++ – Fórum – Programujte.com

 

Barney Stinson
~ Anonymní uživatel
6 příspěvků
24. 4. 2010   #1
-
0
-

Zdravím, řeším menší problém...
Vytvářím školní projekt - databázi CD a chci vytvořit speciální formulář, kde zadám všechny potřebné data a ty pak uložím do struktury, kterou následně zobrazím v původním formuláři (viz. obrázky)

nevím ale, jak mám hodnoty z druhého formuláře získat... máte někdo nějaký nápad? díky moc by mi to pomohlo

[url=http://img682.imageshack.us/i/programu.jpg/]

[/url]

[url=http://img704.imageshack.us/i/schrnka01a.jpg/]

[/url]


Nahlásit jako SPAM
IP: 90.176.130.–
Barney Stinson
~ Anonymní uživatel
6 příspěvků
24. 4. 2010   #2
-
0
-

omlovám se za špatný post, nemám možnost jej upravit obrázky jsou zde
(nejsem si jistý jak přesně se má zadávat odkaz proto píšu odkazy do kódu)

http://img682.imageshack.us/img682/3175/programu.jpg

http://img704.imageshack.us/img704/9036/schrnka01a.jpg

Nahlásit jako SPAM
IP: 90.176.130.–
liborb
~ Redaktor
+18
Guru
26. 4. 2010   #3
-
0
-

Hodnoty si v druhém formuláři uložíš do pomocných proměnných (při uzavření formuláře) a následně je (v tom první formuláři) z nich vyčteš a zpracuješ.

Nahlásit jako SPAM
IP: 85.207.166.–
barney stinson
~ Anonymní uživatel
6 příspěvků
26. 4. 2010   #4
-
0
-

Ano tak nějak jsem to plánoval, problém je v tom, že nevím, kam si ty proměnné mám uložit, abych k nim měl přístup z obou formulářů...

Předpokládám, že jediná možnost je uložit to do externího souboru, což pak ale znamená že budu muset přidat na výchozí formulář něco jako tlačítko refresh, které ty hodnoty v tom souboru vyčte.

doufal jsem že to půjde i nějak jinak, přímo při stisku tlačítka submit

Nahlásit jako SPAM
IP: 90.176.130.–
Bald3rr0
Super člen
26. 4. 2010   #5
-
0
-

To barney stinson : Hledej klíčové slovo 'extern'. Jedná se o externí proměnné, kde na jednom místě je naplníš a jinde používáš.

Nahlásit jako SPAM
IP: 82.100.0.–
Grungy0
Super člen
27. 4. 2010   #6
-
0
-

... alebo použi objekt a tie premenné budú jeho atribúty napríklad.

Nahlásit jako SPAM
IP: 158.193.84.–
Prvý náznak hlúposti, je pocit geniality.
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
27. 4. 2010   #7
-
0
-

Výborně extern funguje skvěle při dostávání proměnných z té přidávací formy do té hlavní - takže díky...

akorát tu stále zůstáva problém s přidáním a zobrazením záznamu po stisku submit - teď mi pouze změní hodnoty globálních proměnných v hlavní formu na ty, které chci (to by samozřejmě opět řešilo tlačítko refresh :-D, ale věřím, že existuje elegantnější řešení)

za případné nápady díky

Nahlásit jako SPAM
IP: 90.176.130.–
liborb
~ Redaktor
+18
Guru
28. 4. 2010   #8
-
0
-

Někde přece musíš ten druhý formulář (dialog) otevřít, ne? Čekáš na jeho zavření? Je dialog modální? Pak ti stačí při potvrzení údajů tyto nové informace vložit do prvního formuláře. Nebo je nemodální? Tak pak si předej do druhého formuláře referenci/pointer na první formulář a při zavírání nastavuj hodnoty v prvním formuláři.

Nahlásit jako SPAM
IP: 85.207.166.–
barney stinson
~ Anonymní uživatel
6 příspěvků
29. 4. 2010   #9
-
0
-

Předem upozorňuji, že jsem v programování začátečník, takže se v tom ještě moc nevyznám :smile16: , ale nejsem si jistý co máš na mysli

ten druhý formulář volám příkazem viz. obrázek se source (na začátku), problém je v tom, že v tom form1.h (hlavní) mám includovaný cd_lib.h, ve kterém mám globálně deklarovanou strukturu new_cd a pak datový typ - pole ukazatelů na tyto struktury. Mám tam také deklarace používaných funkcí.

funkce add_rec (přidání záznamu) má návratový typ new_cd a vrácená strukura se ve form1.h uloží do pole ukazatelů, proto ji nemůžu použít pomocí extern z druhého formu (nezná typ new_cd a includovat do více souboru to nejde...)

pokud by nějak šlo udělat, že se ve formuláři 1 spustí funkce při zavření formuláře 2 bylo by to super, ale opravdu nevím jak na to...

díky

Nahlásit jako SPAM
IP: 90.176.130.–
liborb
~ Redaktor
+18
Guru
30. 4. 2010   #10
-
0
-

Hmmm form2->Show ... to bude asi nemodální. Takže si předej this do toho form2 (tam si to uložíš do členské proměnné ... třeba hlavni) ... a při potvrzení údajů budeš volat: hlavni->cb_Count->Text = .... (to je jediný, který je tam vidět :smile1: ).

Nahlásit jako SPAM
IP: 85.207.166.–
Barney Stinson
~ Anonymní uživatel
6 příspěvků
2. 5. 2010   #11
-
0
-

To zní celkem proveditelně jestli jsem to správně pochopil...
2 otázky, jak si mám předat this do toho formu2 a kde ho tam načíst popř. jak?

budu pak moct volat funkce z toho puvodniho formu? (předpokládám že ne...)

díky

Nahlásit jako SPAM
IP: 90.176.130.–
liborb
~ Redaktor
+18
Guru
3. 5. 2010   #12
-
0
-

Kdy a jak předat formu2 this? Před jeho zobrazením (Show) a můžeš si na to udělat vlastní funkci (předat jako každý jiný parametr). A jestli budeš moci volat funkce z původního? Ty veřejné určitě.

Nahlásit jako SPAM
IP: 85.207.166.–
Barney Stinson
~ Anonymní uživatel
6 příspěvků
4. 5. 2010   #13
-
0
-

Takže nakonec jsou to vyřešil následnovně:

hodnoty proměnných jsem nastavil pomocí extern
form2 jsem otevřel jako modální form2->ShowDialog();
=>příkazy co se měli provést po zavření formu2 jsem zadal za tento příkaz

díky všem, hlavně liborbovi za vodítko s modálními/nemodálními formy

Nahlásit jako SPAM
IP: 90.176.130.–
Zjistit počet nových příspěvků

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í zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
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 vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

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

Uživatelé on-line: 0 registrovaných, 65 hostů

Moderátoři diskuze

 

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