13. astea (2024/04/24) laborategi/mintegian egindakoa
Gaurko helburua proiektuari hasiera ematea da:
- Proiektuaren planteamendua azpiataleko argibideak jarraituz, behar ditugun fitxategiak eskuratu eta C:\Proiektua karpetan kokatu ondoren, Proiektua_32_2.pas bezero-programa konpilatu
- FILE datu-mota artikuluaren azalpenak apurka-apurka emango ditugu
- Proiektuaren J. aukera egin dugu ondoko hau aplikatuz: FITXATEGIEN GAINEKO ERAGIKETAK. Ondoko lan hauek egiteko, batzutan fitxategi laguntzaile bat erabiliko da eta beste batzuetan fitxategi-array (F→A) eta array-fitxategi (A→F) eragiketak erabiliko dira. Eragiketak hauek izango dira:
- Bilaketa, futbolari baten izena teklatuz eman eta fitxategian bilatuz erregistro osoa programa nagusira itzuli [Hau egin dugu]
- Ezabaketa, elementu bat (edo gehiago) fitxategiaren erdi aldean kentzeko [Hau egin dugu]
- Txertaketa, elementu bat (edo gehiago) fitxategiaren erdi aldetik tartekatzeko [Hau ez]
- Gehiketa, elementu bat (edo gehiago) fitxategiaren bukaeran gehitzeko [Hau ez]
- Aldaketa, elementu baten (edo gehiagoren) balioa aldatzeko fitxategian [Hau ez]
- Proiektuaren J. aukera garatzeko programa nagusian idatzi behar den kodea hauxe da (non zuen programetan kolorerik ez duzuen marraztu behar pantailan):
...
end;
'J': begin
clrscr;
textcolor(LightRed);
writeln('Bilduma-fitxategitik kromo bat kendu eta beste kromo bat txertatu');
writeln('"J_aukera.exe" programa exekutagarriaren funtzionalitatea hemen kokatu');
textcolor(LightGray);
writeln;
clrscr;
writeln;
writeln('J aukeraren hasieran, hauxe da bildumaren egoera:');
TaulaBezalaErakutsi(sFitxIzen);
writeln('Bilduma osoaren kromo kopurua: ', fniZenbatKromo(sFitxIzen));
writeln;
writeln('J aukeran aurrera egiteko RETURN sakatu...');
readln;
writeln;
writeln('Fitxategi laguntzaile bat erabiliz, kromo bat ezabatuko da bildumatik');
writeln('---------------------------------------------------------------------');
write('Bildumatik kenduko den jokalariaren izena: ');
readln(sJokalaria);
writeln;
JokalariaBilatu(sFitxIzen, sJokalaria, rdKromoBat); { rdKromoBat irteerakoa }
if rdKromoBat.iZenbakia = -1 then
writeln('ERROREA!! "', sJokalaria, '" ez da aurkitu')
else
begin
KromoBatErakutsi(rdKromoBat);
iBerePosizioa := fniPosizioaZehaztu(sFitxIzen, sJokalaria);
iNorainoBai := iBerePosizioa -1;
writeln('0-tik hasita 1. zatiaren amaiera: ', iNorainoBai, ' (posizio hau barne, RETURN sakatu)');
readln;
KromoBatFitxategitikKendu(sFitxIzen, iNorainoBai);
writeln;
writeln('"', upcase(sJokalaria), '" jokalaria kendu ondoren, hauxe da bildumaren egoera:');
TaulaBezalaErakutsi(sFitxIzen);
writeln('Bilduma osoaren kromo kopurua: ', fniZenbatKromo(sFitxIzen));
writeln;
writeln;
writeln('ARRAY laguntzaile bat erabiliz, kromo berri bat txertatuko da bilduman');
writeln('----------------------------------------------------------------------');
iIdaztekoAzkenPosizioa := fniZenbatKromo(sFitxIzen); { filesize }
repeat
write('Txertaketaren helburuko posizioa eman (0 eta ', iIdaztekoAzkenPosizioa, ' arteko balioa): ');
readln(iNonTxertatu);
until (iNonTxertatu >= 0) and (iNonTxertatu <= iIdaztekoAzkenPosizioa);
writeln('Bilduman txertatuko den kromo berriaren datuak jaso');
KromoBerriarenDatuakJaso(rdKromoBat);
writeln;
if iNonTxertatu = iIdaztekoAzkenPosizioa then { gehiketa bat da}
KromoaFitxategiarenBukaeran(sFitxIzen, rdKromoBat)
else { txertaketa bat da}
KromoBatFitxategianTxertatu(sFitxIzen, iNonTxertatu, rdKromoBat);
writeln;
writeln('"', upcase(rdKromoBat.sIzena), '" jokalaria txertatu ondoren, hauxe da bildumaren egoera:');
TaulaBezalaErakutsi(sFitxIzen);
writeln('Bilduma osoaren kromo kopurua: ', fniZenbatKromo(sFitxIzen));
writeln;
writeln('Ikusi zenbakiak txarto daudela. Azken urratsarekin jarraitzeko RETURN sakatu');
readln;
writeln;
writeln('J aukeratik irten aurretik jokalari guztien zenbakiak eguneratuko dira');
JokalarienZenbakiakEguneratu(sFitxIzen);
TaulaBezalaErakutsi(sFitxIzen);
writeln('Bilduma osoaren kromo kopurua: ', fniZenbatKromo(sFitxIzen));
writeln;
end; { else, datu-fitxategirik bada }
end;
'K': begin
clrscr;
textcolor(LightRed);
writeln('Lantaldeak proposatutako duen eta irakasleak onartutako duen lana');
writeln('Blogeko "Proiektua aberasteko ideiak (menuaren K aukera)" artikulua ikusi');
textcolor(LightGray);
writeln;
end;
...
iruzkinik ez:
Argitaratu iruzkina
Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.