Dělám ročníkovou práci z informatiky. Naštěstí nám učitelka nechala volnou ruku při výběru jazyka a IDE (jinak se učíme pouze Pascal) a navíc nás nechala vymyslet téma samotné, jediná podmínka byla "práce se soubory" (poslední látka, co jsme v IVT probírali). Rozhodl jsem se pro databázi (99% lidí ze třídy dělá nějakou databázi, učitelka nám doporučila pár různých typů), já jsem se rozhodl že to udělám ještě jinak a kromě toho, že bude onen projekt v Delphi, bude něčím "speciální". Místo pevného určování předem daných typů databáze (co dělají spolužáci, evidence dárců krve, evidence ukradených vozidel apod.) si uživatel může sám vytvořit typ své databáze (třeba: pět integerů, dva stringy a jeden boolean apod.) a ten pak může ještě vyexportovat a použít pro vytvoření nové. Dneska jsem si nad to sedl a cca polovina onoho projektu se mi podařila dokončit, ale ještě toho moc Volcan08 (jak jsem jej nazval) neumí, pořád obsahuje víc chyb než správných řádků. Odevzdání máme do konce května, můžu vám tedy sem házet postupně zdrojové kódy a vy si s nimi můžete dělat co chcete - můžete si je projít, můžete je nějak okopírovat, můžete se nechat inspirovat, ale co bych já ocenil nejvíce, můžete mě (později, zatím to nemá moc cenu :-)) upozornit na nějakou chybu, která mi unikla, či přivést mě na nějaké jednoduší řešení (je to můj snad první velký projekt v Delphi, ale v Pascalu dělám už docela dlouho, očekávejte tedy spíš "pascalovský" a "procedurální" přístup k řešení problémů.
Todo:
- upravování
- vyhledávání a to i rozšířené (vyhledávat položky s těmity a zároveň těmito attributy, u čísel i třeba "hledat v rozsahu")
- zfunkčnění pravého tlačítka pro přímou editaci, u vytváření databáze pro odebírání a upravování
- spravení operací s databázemi, které mají u jedné položky více atribut jednoho typu, či naopak nějaký úplně chybí (zatím lze pouze operovat s právě jedním integerem, booleanem a stringem a Volcan08 pak ztrácí smysl)
- upravení GUI
- nějaký help (učitelka ho po nás chce)
- zjednodušení kódu, odstranění zbytečných proměnných, vychytání much
- přidání heslování databáze
Fórum › Delphi
Alfa testing Volcan08
Tak, zase jsem k tomu sednul a začal řešit. Snažím se dosáhnout jedné věci, a to konečně pořešení těch vícenásobných atribut. Dostal jsem se až k výpisu, ale u toho mi program hlásí zhovadilou chybu.
V tomhle kódě:
procedure VypisTabulku(spka:so_sopka);
begin
Form4.ListBox1.Items.Clear;
Reset(ns40);
Reset(ns50);
Reset(ns60);
Form4.Edit1.Text:=spka.name;
while not(eof(ns40)) do
Begin
Read(ns40,ns4);
if ns4.id = spka.id then
begin
Form4.ListBox1.Items.Insert(ns4.position-1,ns4.name+': '+inttostr(ns4.value));
end;
End;
while not(eof(ns50)) do
Begin
Read(ns50,ns5);
if ns5.id = spka.id then
begin
if ns5.value = true then Form4.ListBox1.Items.Insert(ns5.position-1, ns5.name+': ano')
else Form4.ListBox1.Items.Insert(ns5.position-1, ns5.name+': ne');
end;
End;
while not(eof(ns60)) do
begin
Read(ns60,ns6);
if ns6.id = spka.id then
begin
Form4.ListBox1.Items.Insert(ns6.position-1,ns6.name+': '+ns6.value);
end;
end;
end;
mi při běhu programu (ne při kompilaci), pokud mám v souboru ns40 více položek se stejným ID (položka má více attribut a tudíž je v souboru ns40 více položek se stejným ID) vyhodí chybu "Project Volcan08.exe raised exception class EOutOfResources with message 'Unable to insert a line'." a hodí mi tu chybu na řádek "while not(eof(n40))". Když však zapoznámkuji část "Form4.ListBox1.Items.Insert(ns4.position-1,ns4.name+': '+inttostr(ns4.value));", vše proběhne v pořádku. Stává se to pouze, pokud je v souboru více položek se stejným ID, pokud mají jiné ID, nic se nestane, takže musí být chyba v tomto řádku. Nevíte, cos tím?
Mimochodem, nejnovější verze je zde.
Novější verze zde.
- přidáno heslování databáze
- poupravovány operace s více attributy, zbývá akorát řazený výpis
- vyhledávání podle názvu
- nápověda (hint)
- odstranění chybiček :-)
Zbývá:
- rozšířené vyhledávání
- upravování (processing...)
- řazený výpis více attribut
Nevím, můžeš to zkusit :-). Nic extrémního tam nepoužívám a Wine toho rozjede dost, můžeš to zkusit (stejně uvažuju o překompilaci v Lazaru...).
Odzkoušeno, ve Wine to rozhodně rozjedeš. Mimochodem, když stáhnete soubor, nerozpozná to příponu, musíte to přepsat na .tar.
Takže, opět jsem zapracoval, něco jsem dodělal, něco jsem předělal, spoustu jsem toho vynechal (třeba vyhledávání podle vlastností) a nakonec jsem to prohlásil za release candidate. Prosím, betatestujte.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Betatest Volcan08 — založil Garret Raziel
Debian stable ==> testing — založil Honza
Bitwise operations, testing — založil robin
Testing mapovani dat na object — založil boom
Maska (alfa) pomocí dávky — založil yacubo