Booelovský výraz – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Booelovský výraz – Delphi – Fórum – Programujte.comBooelovský výraz – Delphi – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Fil
~ Anonymní uživatel
38 příspěvků
23. 9. 2012   #1
-
0
-

Udělal jsem si hledaní v Table takto

procedure TForm1.Button2Click(Sender: TObject);
begin
Table1.Filter:='Zanr='+ QuotedStr(Edit1.Text);
end;

Ale chtěl bych kdyby to nenaslo hledaný výraz aby to vyhodilo

showmessage('neexistuje')

Něco jako

If Table1.Filter:='Zanr='+ QuotedStr(Edit1.Text) then //zde nic nechci

else showmessage('neexistuje')

bohužel tak mi to nejde

Nahlásit jako SPAM
IP: 77.237.138.–
Reklama
Reklama
KIIV+42
God of flame
23. 9. 2012   #2
-
0
-

neni u Table1 nejaka metoda nebo cokoliv, co by mohlo znamenat pocet radku?

jen strilim od boku protoze tu delphi nemam ale treba:

Table1.Filter:='Zanr='+ QuotedStr(Edit1.Text);

if Table1.rows() = 0 then showmessage... // rows, count, ..... proste projit tu kontextovou napovedu metod+properties a najit co by mohlo byt pocet radku, nebo uspech/neuspech, chybove hlaseni ... whatever

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
dyžon0
Stálý člen
23. 9. 2012   #3
-
0
-

#1 Fil
Nejsem si jistej ,ale podle me mas chybu v zapise ... 

If aaa = bbb then blabla // tohle je spravne a ty tam nas:
If aaa := bbb then  //  := prirazuje, takze to mas blbe. 

//  nevim, jestli to bude fungovat,ale ja bych zkusil:

If Table1.Filter <> 'zanr='+ QuotedStr(Edit1.Text) then
ShowMessage('neexistuje') else
blablabla

 kdyby jsi mel zajem, tak mam vyhledavani reseny pres SQL pomoci ComboBoxu,kde vyberu sloupec, ve kterym chci hledat a Editu, kam zapisu hledanej text.

Mam to zapsany pomoci Like, takze to vyhledava i casti retezce. 

Nahlásit jako SPAM
IP: 89.102.38.–
Fil
~ Anonymní uživatel
38 příspěvků
23. 9. 2012   #4
-
0
-

#3 dyžon
Nejde to nevyhledává to furt to vyhazuje neexistuje:(

Nahlásit jako SPAM
IP: 77.237.138.–
dyžon0
Stálý člen
23. 9. 2012   #5
-
0
-

#4 Fil
no ale uz to aspon funguje ne ...  tak zkus pridat Label a vloz do nej tu cast co ma vyhldat:

Label1.Caption:= 'zanr='+ QuotedStr(Edit1.Text) // jsem zvedavej, co ti to vypise ..

a podle toho musis upravovat,aby to nakonec neco naslo ..

Nahlásit jako SPAM
IP: 89.102.38.–
KIIV+42
God of flame
23. 9. 2012   #6
-
0
-

kdyby se radeji zameril na to co hleda a ne na kraviny od dyzona.. :D

no holt dyzon vypada ze vi co dela, (a hlavne mu haze hotove kusy kodu) - coz samozrejme neznamena ze to tak je :)

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Fil
~ Anonymní uživatel
38 příspěvků
23. 9. 2012   #7
-
0
-
Nahlásit jako SPAM
IP: 77.237.138.–
Fil
~ Anonymní uživatel
38 příspěvků
23. 9. 2012   #8
-
0
-

#6 KIIV
No hledam z edit.text v tabulce ve sloupci zanr..a nejde o kusu kodu..jen prostě delphi nerozumim..tak nevim a nemam čas brat delphi od začátku co co ma za funkce..

Nahlásit jako SPAM
IP: 77.237.138.–
dyžon0
Stálý člen
23. 9. 2012   #9
-
0
-

jinak jak rikam, ja jsem to resil pres SQL, takze vubec nevim, jestli je tenhle zapis spravnej ...  spis se mi to zda jako hovadina

Ted jsem nahlidl do knizky Delphi v prikladech a tam uvadi tenhle code:
 

If not Table1.FindKey([Edit1.Text]) then
ShowMessage('neni')  // tohle bude fungovat urcite
Nahlásit jako SPAM
IP: 89.102.38.–
KIIV+42
God of flame
23. 9. 2012   #10
-
0
-

mas hledat kdyz napises v kodu  Table1.   a vyhodi to seznam vseho co tam muzes narvat...

pravdepodobne budes hledat neco jako Table1.RecordCount ...  pripadne si pred tim hodit  Filtered := false, pak hodit filter, a pak filtered true a podminku jestli tam neco je... ale otazkou jest, zda to nemusi byt jeste nejak zavolany

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
dyžon0
Stálý člen
23. 9. 2012   #11
-
0
-

#6 KIIV
Nevim, jak jsi se ucil Delphi ty, ale ja jsem vsechno musel vycist z knizky a z netu, ve skole me to nikdo neucil, nevysvetloval jak co funguje a podobne (Ucim se to zhruba pul roku,proto jsem na slabe urovni , netvrdim,ze jsem expert,ale snazim se pomoct). Za kazdej funkcni kod,kterej mi prisel pod ruce jsem byl rad,protoze jen z tech funkcnich jsem se dokazal neco naucit a pochopit.  Ono je rozdil, mit ucitele a nebo jen hluchou, nemou knizku.
Proto si vetsinu (pocitanych) hodnot zobrazuju v Labelech, abych videl jak opravdu vypadaji a s cim se vlastne dal pracuje.
Ja vim, je to zdlouhavy, pomaly a mozna nekdy i zbytecny,ale nejsou vsichni odbornici jako ty. 

Snazim se jen pomoct.

Nahlásit jako SPAM
IP: 89.102.38.–
Fil
~ Anonymní uživatel
38 příspěvků
23. 9. 2012   #12
-
0
-

#11 dyžon
Hoši nehadej te se oba to myslíte dobře..jenže já sem fkt v tomhle špatnej..nás cise na škole učili v delhi ve 3 ročníku asi půl roku a pak od te doby nic..takže umim jen základy a teď prostě mam jako ročníkovku práci v delphi:( a jak to asi mam udělat, když nás ve škole nic nenaučili pořádně:( strávim čas v knihách a nenetu co a jak ale prostě s toho to fakt nejde..jsem anititalent na delphi..dižon nejde to, nějaká chyba máš skype že bys mi řekl jak na to sql? KIIV je tam Table1.RecordCount , ale když nevim jak to mam použít tak to smenou je těžký..omlouvám se..

Nahlásit jako SPAM
IP: 77.237.138.–
KIIV+42
God of flame
23. 9. 2012   #13
-
0
-

za me nic takovyho moc nebylo .. ucil sem se z napovedy a podle toho co hazela kontextovka...

z programovani me jinak nikdy nikdo nevodil za rucicku.. potreboval sem maximalne nasmerovani (jen stejne nebylo vetsinou od koho)

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
dyžon0
Stálý člen
23. 9. 2012   #14
-
0
-

#13 KIIV
vidis, takze si urcite pamatujes, jaky to je mit neco co funguje.

To: fil, mrkni do profilu

Nahlásit jako SPAM
IP: 89.102.38.–
Fil
~ Anonymní uživatel
38 příspěvků
23. 9. 2012   #15
-
0
-

#14 dyžon
koukám, máš ho zkrytý

Nahlásit jako SPAM
IP: 77.237.138.–
Fil
~ Anonymní uživatel
38 příspěvků
23. 9. 2012   #16
-
0
-

#15 Fil
oprava skrytý

Nahlásit jako SPAM
IP: 77.237.138.–
mjseven0
Návštěvník
25. 9. 2012   #17
-
0
-

Použití Table1.Filter by mělo vypadat nějak takhle:
 

//nastaveni hodnoty filtruTable1.Filter :=  'Zanr ='  + QuotedStr(Edit1.Text); 
//aktivace filtruTable1.Filtered := True; 
//pokud je počet zaznamu v Table1 = 0, vyvolám Message 
if Table1.RecordCount = 0 then   ShowMessage('neexistuje'); 

Použití Filter a jeho aktivace (Filtered:=True) rovnou omezuje počet záznamů v Table1

Pokud jde jen o zjištění zda existuje hledaná hodnota v některém záznamu v Table1,
lze zřejmě použít Table1.FindKey... jak se píše někde výše, jen u Paradox nebo dBase tabulek to tuším vyžaduje definovaný index nad tabulkou. Nevím to přesně, nikdy jsem FindKey nepoužil

Další možnost je použít
Table1.Locate(...) - ta tě nastaví přímo na první záznam v tabulce, ve kterém najde v příslušném sloupci hledanou hodnotu. Počat záznamů (Table1.RecordCount) se přitom nezmění.

Další, dle mě nejlepší možností je místo TTable komponenty použít TQuery s parametrizovaným dotazem
a nastavovat hodnotu parametru.





 

Nahlásit jako SPAM
IP: 213.151.83.–
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, 18 hostů

Podobná vlákna

Reg. výraz — založil RePRO

Regulární výraz — založil Proxymus

Regulární výraz — založil Fanda36

Regularni vyraz — založil don_Dominique

Regulární výraz — založil HoHo

 

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