Avatar billede morten_s Nybegynder
20. april 2001 - 18:59 Der er 1 kommentar og
1 løsning

Hvordan gemmes en font



Hvordan gemmer man en font på disken og ikke bare adr til den
pointer som peger på den ?

Program ser ud som følger


Type = GemmeRecord
                Variabel1 : Integer;
                Variabel2 : Integer;
                GemtFont : TFont;
            end;
     

var
    GemmeRec : GemmeRecord;
    GemmeFil : File of GemmeRecord;
    FontSomSkalGemmes : TFont;

begin
  FontSomSkalGemmes.Name := \'Ariel\';
  FontSomSkalGemmes.Size := 12;
  with GemmeRec do
  begin
    Variabel1 := 2;
    Variabel2 := 4;
    GemtFont := FontSomSkalGemmes; {Når jeg gør dette gemmes kun adr. på en pointer til fonten       
                                                                    Har prøvet med : GemtFont := @FontSomSkalGemmes;
                                                                      og det hjælper ej  hellere at sætte @ foran}
end;
AssignFile(GemmeFil, \'C:\\fil.fil\');
    {$i-}
    Rewrite(GemmeFil);
    if IOResult = 0 then
    begin
      Write(GemmeFil, GemmeRec);
Avatar billede delphidaner Nybegynder
20. april 2001 - 20:09 #1
Sidder ikke lige med Delphi foran mig, men jeg mener at du kan skrive:

GemFont.Assign(FontSomSkalGemmes);
Avatar billede martinlind Nybegynder
21. april 2001 - 12:31 #2
Rigtigt du skal Bruge Assign hvis du vil lave en Kopi af en Object, det er en standart Kopi funktion som implementeres fra TPersisten, med du kan ikke gamme en Object Instance til en fil med Write(F,MyFont) det kan write ikke klare, så du skal enten gemme de props. du mener er nok eller bruger en Stream og WriteComponent, det er lidt mere kompliceret en en \"flad fil\" og write men bestemt ikke umuligt for en nybegynder

/Martin
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