Subory (vymazanie, edit) – Pascal – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Subory (vymazanie, edit) – Pascal – Fórum – Programujte.comSubory (vymazanie, edit) – Pascal – Fórum – Programujte.com

 

jozo00250
Návštěvník
12. 5. 2008   #1
-
0
-

Ako spravit nasledujucu vec:

mam textovy subor do ktoreho zapisujem atributy urciteho objektu, subor vyzera zhruba takto:

polozka1
znacka
cena
farba
polozka2
znacka
cena
farba

a takto to ide dalej, na kazdom riadku jeden atribut, potom to zo suboru nacitam do pola, ale neviem ako vymazat a editovat nejaky prvok, tak, ze uzivatel zada cislo prvku a podla toho sa bud vymaze alebo edituje dany prvok, a naspat sa to ulozi do suboru???
dakujem za odpovede

Nahlásit jako SPAM
IP: 84.47.114.–
Mircosoft+1
Věrný člen
12. 5. 2008   #2
-
0
-

Když chceš něco vymazat ze souboru, tak to prostě při zápisu vynech (zapiš jenom to ostatní).
Z pole nějaký prvek vymažeš tak, že na jeho místo přesuneš následující, na místo toho následující další následující a tak dále až do konce pole.

Nahlásit jako SPAM
IP: 89.176.249.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
jozo00250
Návštěvník
13. 5. 2008   #3
-
0
-

no ten edit uz som vyriesil ale to vymazavanie je zatial zle, sice vymaze zaznam ale nie ten ktory zada uzivatel :
uryvok kodu



write('zadajte cislo zaznamu pre vymazanie : ');
readln(cislo);
for i:=cislo to PocetZaznamov do
pole[i]^:=pole[succ(cislo)]^; { prehadzu sa prvky pola teda aspon dufam }
Assign(f,'subor.txt');
Rewrite(f);
for i:=1 to PocetZaznamov do
begin
Writeln(f,pole[i]^.typ);
atd......
end;
Close(f);

Nahlásit jako SPAM
IP: 84.47.114.–
Mircosoft+1
Věrný člen
13. 5. 2008   #4
-
0
-

Chybička je v tom cyklu, máš tam index cislo misto i. A jestli v tom poli nejsou ukazatele, tak tam nepiš ty šipky (^). Příkaz v cyklu tedy uprav na tohle: pole[i]:=pole[i+1]; (nebo s tím succem, to je jedno).
Potom si dej pozor na meze pole a cyklu. For točíš od Cisla do Poctuzaznamu a čteš záznamy z indexu i+1. Jestli je pocetzaznamu rovný horní mezi pole, načteš v posledním kroku jeden záznam za koncem pole. Pokud máš vypnutou kontrolu rozsahu, celkem nic se neděje (jenom budeš mít na jedné nepotřebné pozici nesmyslná data). Pokud je zapnutá, program umře na Range check error. Takže cyklus dělej jenom do Pocetzaznamu-1. (kdyby se mazal poslední prvek, bude dolní mez cyklu větší než horní, takže žádné přesouvání neproběhne, což je správně)

Další důležitá věc: vymazal jsi jeden záznam, tak po skončení cyklu musíš proměnnou Pocetzaznamu snížit o 1!

Cyklus pro zápis do souboru je v pořádku, jenom zase je tam asi zbytečná šipka.

Nahlásit jako SPAM
IP: 147.32.160.–
Chceš-li lepší odpověď, polož lepší otázku.
Moje stránka.
jozo00250
Návštěvník
14. 5. 2008   #5
-
0
-

diky, uz to funguje, mam tam pointre takze sipky su namieste.

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

Podobná vlákna

Vymazanie adresára — založil gaben

Vymazanie objektu — založil Patrik

Nefunkčné vymazanie cookies. — založil gold604

Vymazanie neakého riadku . — založil zonda

Vymazanie vstupného riadku — založil ArcaneBeam13

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ý