Diskuze: Uložení hodnot do souboru

Ostatní jazyky Delphi Delphi (Pascal) Uložení hodnot do souboru

Avatar
pcrewik
Člen
Avatar
pcrewik:

Ďakujem za odpoveď na mail, vyskitol sa mi problém s touto hláškou (http://img9.imageshack.us/…egrvalue.png),

to ako tento program vyzera schematicky som ti poslal na mail kedže som ten cely dlhy zdrojak nechcel lepiť sem :)

 
Odpovědět 25.2.2011 19:38
Avatar
sdraco
Tým ITnetwork
Avatar
Odpovídá na pcrewik
sdraco:

Nemusíš sem přeci dávat celý zdroják, ale jen tu část, ve které je chyba, na jakém řádku ti to píše chybu?

Nahoru Odpovědět 25.2.2011 20:33
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
pcrewik
Člen
Avatar
Odpovídá na David Čápka
pcrewik:

Tak vec sa má tak že program spustí, no pokiaľ už chcem zmeniť hodnotu na ScrollBar tak vyhodi spominanu hlášku a modrým vyznači 4 riadok na tejto časti kódu
procedure TForm2.ScrollBar1Chan­ge(Sender: TObject);
begin
Button1Click(Scro­llBar1) ;
end;

čiže tomu predchadza tento kód :

procedure TForm2.Button1Clic­k(Sender: TObject);
var
Bar, Barr, Barrr : TextFile;
r, rr, rrr : String;
begin
Assignfile(Bar,'Bar1­.txt');
Assignfile(Ba­rr,'Bar2.txt');
Assignfile(Ba­rrr,'Bar3.txt');
rewrite(Bar);
rewrite(Barr);
rewrite(Barrr);
Writeln(Bar,Scro­llBar1.Positi­on);
Writeln(Barr,Scro­llBar2.Positi­on);
Writeln(Barrr,Scro­llBar3.Positi­on);
closeFile(bar);
closeFile(barr);
closeFile(barrr);
Assignfile(Bar,'Bar1­.txt');
Assignfile(Ba­rr,'Bar2.txt');
Assignfile(Ba­rrr,'Bar3.txt');
reset(Bar);
reset(Barr);
reset(Barrr);

readln(Bar,r);
readln(Barr,rr);
readln(Barr,rrr);

Form1.Color:=RGB(str­toint(r),
strtoint(rr),
strtoint(rrr));
Form2.Color:=RGB(str­toint(r),
strtoint(rr),
strtoint(rrr));
closefile(Bar);
closefile(Barr);
closefile(Barrr);

Label1.Caption:='Red='+In­tToStr(ScrollBar1­.Position);
Label2.Caption:='Gre­en='+IntToStr(Scro­llBar2.Positi­on);
Label3.Caption:='Blu­e='+IntToStr(Scro­llBar3.Positi­on);;);)

 
Nahoru Odpovědět 25.2.2011 20:41
Avatar
sdraco
Tým ITnetwork
Avatar
Odpovídá na pcrewik
sdraco:
  1. Vytvářej pro nové problémy nová vlákna ve fóru a nepiš do existujících vyřešených, jinak tu bude zmatek
  2. Na vkládání kódu je tu pod formulářem funkce "Vložení zdrojového kódu" (pak se kód formátuje)
  3. Ani se nedivím, že jsi udělal chybu, ten kód je naprosto příšerný - přece jsem ti posílal, jak se čtou jednotlivé řádky souborů, tak nevím, proč používáš 3 soubory pro zápis tak jednoduché hodnoty, jako je RGB.

Tam, kde načítáš řádku pomocí readln jsi napsal 2x za sebou Barr místo jenou Barr a podruhé Barrr (mimochodem, pojmenováváním proměnných takhle hloupým způsobem si o chyby v kódu sám říkáš).

Posílám ti opravenou funkci, jak by mohla vypadat:

procedure TForm1.Button1Click(Sender: TObject);
var
Bar: TextFile;
r, g, b : String;
begin
Assignfile(Bar,'Bar1.txt');
rewrite(Bar);
// postupně zapíše řádky
Writeln(Bar,ScrollBar1.Position);
Writeln(Bar,ScrollBar2.Position);
Writeln(Bar,ScrollBar3.Position);
closeFile(bar);

Assignfile(Bar,'Bar1.txt');
reset(Bar);
// postupně načte řádky
readln(Bar,r);
readln(Bar,g);
readln(Bar,b);
closefile(Bar);

Form1.Color:=RGB(strtoint(r),
strtoint(g),
strtoint(b));

Label1.Caption:='Red='+IntToStr(ScrollBar1.Position);
Label2.Caption:='Green='+IntToStr(ScrollBar2.Position);
Label3.Caption:='Blue='+IntToStr(ScrollBar3.Position);
end;
Nahoru Odpovědět 25.2.2011 21:07
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.