Citire/scriere fisier


starlookboy


Salut.

M-am apucat sa invat Delphi de aproximativ 1 saptamana si am intampinat o chestie care ma impiedica sa invat mai departe. Si anume scrierea si citirea fisierelor.

As vrea sa imi spuneti cum pot sa scriu intr-un fisier de exemplu:

[setari_fereastra]
inaltime = "300";
latime = "200";


si apoi sa citesc din fisier inaltimea, latimea si altele.

Am nevoie de aceste detalii pentru a realiza un fisier in care sa pastrez setarile.

Am cautat pe google, am gasit ceva pe delphi.about.com insa nu am reusit sa inteleg.

Multumesc mult anticipat!
ciuly
a opera pe fisiere se poate face in 2 feluri:
- ca pe vremuri, cu fisiere text, fara tip, cu tip (adica ca in pascal). assignfile/closefile/read/write/blockread/blockwrite
- cu stream-uri: tfilestream

scrii functia/clasa, pui cursoru de tastatura (caret-ul) pe cuvant si dai ctrl+f1 => help-ul pentru cuvantul scris.

asta e la nivelul de jos. pentru ce vrei tu, probabil se preteaza mai degraba un ini file.

n-as putea sa iti spun un articol despre fisiere pt incepatori. poate cel mai bine este sa citesti prin rezultatele de pe primele 2 pagini din google
sau eventual sa cumperi o carte de delphi 3/4/5.

ca sa inveti despre fisiere, eu unul ti-as sugera sa niveti sa lucrezi cu ele mai intai la nivel de jos, si apoi sa folosesti clase specializate (cum ar fi direct pt ini) chiar daca asa e mai simplu.
 
starlookboy
Merci mult pentru raspuns.
O sa mai studiez lucrul cu fisiere la nivel de jos, deocamdata cred ca am sa lucrez cu fisierele .ini
Imi este destul de greu deoarece la scoala (clasa a 9-a) in afara de algoritmi nu am facut nimic, nici macar Pascal sad.gif
ciuly
in acest caz ti-as sugera sa mai astepti un an smile.gif te bagi in ceva unde daca nu intelegi calumea de la inceput, o sa iti fie greu sa repari chestiile ce ai crezu ca le-ai inteles bine si defapt is varza. daca vrei sa lucrezi in delphi (java/etc) trebuie sa stii OOP. altfel n-are nici un sens. iar daca nu stii chiar nimic...

sfatul meu este sa o lasi balta cu delphiul momentan. pune-te pe pascal sau c, ce facti voi, si aprofundeaza. daca faceti pascal, swag (google it) este prietenul tau.
dupa ce stapanesti pascalul, te poti apuca de delphi, dar neaprat cu o carte (profesor, daca iti permite buzunarul). la nivelul tau (ca varsta), trebuie sa ai o sursa de invatare mai serioasa, didactca, un tutorial avand sanse mari sa iti faca mai mult rau decat bine. nemaivorbind ca delphi este deja o scula cat de cat serioasa, si neavand cunostiintele de baza, e ca si cum ai vana muste cu un elicopter de lupta. e foarte usor sa apesi pe buton si uite racheta, dar nu o sa stii sa utilizezi unealta la adevarata ei valoare. la fel si cu mediile de dezvoltare. e pacat sa iti strici capul de pe acuma smile.gif
gandeste-te ca ajungi in campul muncii peste 6-8 ani. ai timp berechet sa inveti un limbaj de programare (care o sa vezi ca se invata in cam 2-4 saptamani). invata bazele calumea, dezvoltati imaginatia si gandirea logica/abstracta/etc. o sa ajungi mult mai departe decat daca te rezumi la o unealta care iti da chestiile de baza si nu numai de-a gata wink.gif
psionic
declari variabilele inaltime, latime in interface de exemplu dupa form:
CODE
var
  Form1: TForm1;
  inaltime, latime: integer;


Load Settings:

// 300, 200 sunt valorile standard in cazul in care settings.ini nu exista sau nu contine valori pt Inaltime, Latime

CODE
procedure LoadSettings;
var
  i: tinifile;
begin
  i := tinifile.Create(extractfilepath(application.exename) + 'settings.ini');

  inaltime := i.ReadInteger('Setari_fereastra', 'Inaltime', 300);
  latime := i.ReadInteger('Setari_fereastra', 'Inaltime', 200);

  i.free;
end;


Save Settings:

CODE
procedure SaveSettings;
var
  i: tinifile;
begin
  i := tinifile.Create(extractfilepath(application.exename) + 'settings.ini');

  i.WriteInteger('Setari_fereastra','Inaltime',inaltime);
  i.WriteInteger('Setari_fereastra','Latime',latime);

  i.UpdateFile;
  i.free;
end;
starlookboy
@ciuly
Asa mi-a zis si profesoara de informatica, sa nu ma apuc sa citesc tutoriale de pe internet, pentru ca de cele mai multe ori contin informatii cu mult peste incepator. Cel mai bine este sa invat baza, pas cu pas.
Insa eu sunt un foarte curios si cu o pasiune enorma pentru acest domeniu. Problema mea este ca vreau sa invat prea mult si prea repede sad.gif

Am transpus un algoritm de clasa a 9-a in C++ folosind ceea ce invatasem de pe tutoriale de pe Internet. Ieri i l-am aratat doamnei profesoare. Rezultatul: programul functiona, insa erau chestii total inutile in cod pentru ceea ce facea (calcula media aritmetica a unui sir de numre intrege citite de la tastatura).

Merci mult ciuly si merci mult si tie psionic pentru ca portiunea de cod care m-a ajutat foarte mult.
Reclama
Ultimul trend: masini cu 2 rezervoare Pai daca la Petrom alimentezi si apoi castigi inca un plin...
Aceasta este o versiune simplificatã a paginii originale. Pentru a vizita versiunea originala click aici.