Avatar billede monie Nybegynder
15. februar 2004 - 07:49 Der er 5 kommentarer og
1 løsning

Font valg i fmFontOpsestning skal kunne overføres til Memo1

Med Add to Repository er der oprette en form ved navn "FontOpsestning"

I Form1Create forsøger jeg, at ændringerne i fmFontOpsestning
skal kunne ændre f.eks Font.Name i Memo1 som befinder sig på Form1

Men får fejlmeddelsen: Se www.sunwind.dk/error.jpg

Kodeeksempel:

procedure TForm1.FormCreate(Sender: TObject);
begin
fmFontOpsestning.Edit1.Text := MyINI.ReadString('Font opsætning', 'FontName', 'Ikke fundet');
fmFontOpsestning.Edit1.Font.Name:= fmFontOpsestning.Edit1.Text;
Form1.Memo1.Font.Name := fmFontOpsestning.Edit1.Text;
end;

Har du et forslag til hvordan dette på en enkelt måde kan lade sig gører?
Gene ændre koderne.

Med venlig hilsen
Monie Jacobsen
Avatar billede nca Juniormester
15. februar 2004 - 10:00 #1
fmFontOpsestning.Edit1.Text := MyINI.ReadString('Font opsætning', 'FontName', 'Ikke fundet');

Hvis indgangen "Font Name" ikke findes i din ini-fil, bliver fontnavnet sat til "Ikke fundet". Det går ikke! Den sidste værdi Readstring, skal altid være en standardværdi, som kan bruges, hvis alt andet går galt. Prøv at erstatte "Ikke fundet" med "Arial", da denne skrifttype altid findes på computeren.
Avatar billede monie Nybegynder
15. februar 2004 - 10:42 #2
Hej nca

Det er meget flot, at du svarer mig.
Vil meget gerne give point, men ved ikke hvordan. Har forsøgt at give dig.

Får stadig error, hved ikke hvad der skal gøres, nå der compil'esfåe der inge fejl
det er kun når programmet Run at der kommer fejl.

Dette har jeg lagt ind i FormCreate det samme ligger der i fmFontOpsestning.
procedure TfrmMain.FormCreate(Sender: TObject);
begin

fmFontOpsestning.Edit1.Text := MyINI.ReadString('Font opsætning', 'FontName', 'Arial');
fmFontOpsestning.Edit1.Font.Name:= fmFontOpsestning.Edit1.Text;

Mvh
Monie Jacobsen
Avatar billede nca Juniormester
15. februar 2004 - 11:44 #3
For at give point, skal du markere mig ude til venstre og så klikke på Udfør.

Jeg tror du glemmer at initialiser MyINI.
Fx.
MyIni := TIniFile.Create('myapp.ini');

Prøv evt at flytte læsningen af inifilen til FormActivate
Avatar billede nca Juniormester
15. februar 2004 - 12:05 #4
Husk at frigive MYIni, når du har læst i den:

MyIni.Free;

Den inifil, du henviser til i linien Create, skal selvfølgelig eksistere. Du skal også selv søge for at der er en sektion der hedder [Font opsætning] og at der i denne sektion er en nøgle, der hedder FontName
Første gang du skriver til filen, vil både sektion og nøgle blive oprettet, hvis de ikke eksisterer i forvejen. Filen skal du dog selv oprette.
Avatar billede monie Nybegynder
15. februar 2004 - 12:07 #5
Jeg prøver at flytte læsningen af inifilen til FormActivate
Er det i orden jeg kontakter dig igen, hvis det ikke lykkes at få det til at virke?
Med venlig hilsen
Monie Jacobsen
Du får alså dine fortjente point nu.
Avatar billede nca Juniormester
15. februar 2004 - 12:11 #6
Du kan bare skrive igen, hvis det ikke lykkes. Jeg skal nok prøve at hjælpe, selv om jeg har fået pointene. Tak for dem :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester