Upis/Citanje fajlova (delphi)

Peruzzi

Domaćin
Poruka
4.066
Imam dva niza
niz1:array[1..1000] of TLabel;
niz2:array[1..1000] of String;
i listbox (tj. niz stringova neodredjenog broja clanova)

Sto se tice TLabel, potrebni su mi sledeci podaci o njemu
Visible, Caption, Left, Top, Font.Name, Font.Size, Font.Color, i Font.Style[fsBold, fsItalic, fsunderline].

E sad, lako bih ja to strpo u po hiljadu linija i citao svaku kao slog, medjutim Caption moze da bude i u nekoliko redova

U ovim nizovima cuvam podatke o labelama koje postavljam po prozoru.
Potrebno mi je da sacuvam izgled prozora i ucitam ponovo.

Font.Style bih najradije stavio kao niz tri 0 ili 1, bold italic underline, 1 ako ima, 0 ako nema taj stil primenjen. Npr tekst[/b] stil ovoga bio bi sacuvan kao 110, a tekst bio bi sacuvan kao 011

Neka ideja? Mozda da razdvajam svaki podatak sa nekim znakom, npr *, ili ; pa da fajl tretiram kao file of char?
 
Ukoliko datoteka u koju se upisuju ti podaci ne mora da bude binarna, možda je najbolje sve to smestiti u neku datoteku ini formata, s tim da <CR><LF> kombinaciju u Caption atributu zameniš nekom drugom kombinacijom, na primer baš ovim tekstom, dakle umesto dva bajta ima bi tekst <CR><LF>.

Ili možda umesto ini, da koristiš xml format.
 
aj videcu za ovo prvo, izgleda prosto (a verovatno i jeste)

druga stvar me jos muci. ima li neko nesto od literature ili vremena da mi pomogne za sledece

kako da pristupim 4om polju u 3 redu u bazi podataka? (nisam bas nesto mnogo obavesten o ovome, a nesto bas nemam mnogo vremena da citam neke velike knjige, tako da mi treba precizno i kratko par tehnika)
 
snaso sam se za sve

nego, jos me muci jedno - kod ovog cuvanja u fajlove - kada treba da zamenim LineFeed sa necim, npr <LF> kako to da uradim?

ovo mi palo na pamet, al ne znam sta dalje...

Kod:
str:string {string koji treba ocistiti od LineFeed i zameniti sa <LF>}
str1:string {pomocni string}

str1:='';
for i:=1 to Length(str) do
begin
  if not(str[i]='') then str1:=str1+str[i] else str1:=str1+'<LF>';
end;
odavde je str ulazni string a str1 sredjen, tj rezultat
 
Ajooj..
To je ubiboze sporo i loshe...
Inace, ti si napisao da menjas ' ', sto je SPACE a ne LF..

CR = #13
LF = #10
SPACE = #32

Recimo, ako trazis ENTER to je = CRLF => #13#10
Ajd probaj ovako (ako si bas hteo LF)

While Pos(#10,str) > 0 do
begin
gde := Pos(#10,str);
delete(str,gde,1);
insert('<LF>',str);
end;

pishem napamet, vidi parametre za delete i insert.

Ako imas JCL, stavi u uses JCLStrings
i uradi iz jedne linije:
StrReplace(str,#10,'',[rfReplaceAll]);
 
u ono '' trebalo je da ubacim komentar al sam zaboravio..izgubljen

sredio sam stvar za upis. objasnicu vam kasnije, uostalom videcete kod. ima se pokenjate kad vidite kako je izvedeno

sad me jos muci stampanje

joooooj

sve sam proucio samo jos to. al nemam odakle. imam neke njige al bedne, slabotinja neka
a po internetu trazio svasta al nista korisno naso, valjda sam maler neki, sta li

aj pomognite za ovo pa da, daj boze, ostavim program negde
 
u ono '' trebalo je da ubacim komentar al sam zaboravio..izgubljen

sredio sam stvar za upis. objasnicu vam kasnije, uostalom videcete kod. ima se pokenjate kad vidite kako je izvedeno

sad me jos muci stampanje

joooooj

sve sam proucio samo jos to. al nemam odakle. imam neke njige al bedne, slabotinja neka
a po internetu trazio svasta al nista korisno naso, valjda sam maler neki, sta li

aj pomognite za ovo pa da, daj boze, ostavim program negde
 

Back
Top