Avatar billede stef_s Praktikant
08. januar 2005 - 22:17 Der er 10 kommentarer og
1 løsning

Sende font.style over en socket?

Jeg kan sende andre ting så som, font.name og hvis jeg vil sende font.color skriver jeg bare clientsocket1.socket.sendtext(inttostr(Richedit1.font.color)); og så virker det.
Men jeg kan ingen af delene når det er font.style jeg skal sende.
Hvordan kan jeg sende det over en socket på en simpel måde tak, kom så stoney ;)
Avatar billede nico26 Nybegynder
09. januar 2005 - 02:09 #1
fontstyle er en enumeration - men egentlig bare en integer. Du kan få integerværdien med funktionen Ord(), så for at sende den som tekststreng skal du bare skrive:

clientsocket1.socket.sendtext(IntToStr(Ord(Richedit1.font.color.Style)));

når du skal den anden vej dvs. lave en integer om til en enumeration skriver du:

Richedit1.font.style = TFontStyle(myint);
Avatar billede stef_s Praktikant
09. januar 2005 - 02:22 #2
Det virker ikke det der.
I skal vide jeg bruger delphi 6PE, da jeg ikke er faldet i god jord med delphi 7.
Jeg skriver det, men det eneste den tillader er font.name.
Avatar billede borrisholt Novice
11. januar 2005 - 07:58 #3
Hey !!! Kom lige forbi.

Du skal konvetere din set til en integer, for så at sende den over nettet, og konvetere tilbage på den anden side.

Jeg har engang skrevet en artikkel om det :
http://www.pythia.dk/artikler/vis_artikel.php?id=26

Jens B
Avatar billede stef_s Praktikant
11. januar 2005 - 18:52 #4
Hvis du så i det jeg har skrevet oppe i tråden, så har jeg konverteret andre ting til Integer og konverteret det tilbage, da man skal gøre det med .font.size, men det du har lavet har intet med .font.style at gøre.
Den der hedder .font.style er normalt= [] og kursiv= [Italic] osv, så jeg skal sende denne let.
Jeg kan ikke konvertere den til en integer, så ville der intet problem være jo.
Avatar billede borrisholt Novice
12. januar 2005 - 08:11 #5
stef_s>> Har du overhovedet læst den artikkel jeg linker til ?

Hvis du kigger i  Graphics.pas vil du opdage at FontStyles er defineret således :

TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut);
TFontStyles = set of TFontStyle;

Bemærk  Pluralis  : TFontStyles kontra  Singularis : TFontStyle

Og ser du her har du netop min pointe. TFontStyles er et sæt, og med min artikkel i hånden er det næsten for nemt at konvetere et sæt til en integer.

type
pFontStyles = ^TFontStyles;
pInteger = ^Integer;

function IntToFontStyles(const Value : Integer) : TFontStyles;
begin
  Result := pFontStyles(@Value)^;
end;

function FontStylesToInteger(const Value : TFontStyles) : Integer;
begin
  Result := pInteger(@Value)^;
end;


Jens B
Avatar billede stef_s Praktikant
13. januar 2005 - 10:28 #6
okok svar, så du kan få point, men dog var den ikke lige så enkelt som jeg kunne ønske.
Avatar billede borrisholt Novice
13. januar 2005 - 11:02 #7
Enkelt ? Du får det da ikke meget nemmere.
Avatar billede stef_s Praktikant
14. januar 2005 - 11:03 #8
Lige en ting så, jeg har lige sendt dig en mail med en mindra fejl i artiklen.
Men ikke det der var spørgsmålet; Nu er det der er mange muligheder, da det ikke kune er Italic eller Bold men også kan være dem sammen, altså mange kombinationer.
Men jeg ved godt hvordan jeg laver tekst om til tal, og om igen, men jeg kan ikke på nogen måde udrette fontdialog1.font.style til noget andet, end en lignende font.style på et andet komponent. Hjælp mig lidt her tak.
Avatar billede stef_s Praktikant
14. januar 2005 - 11:05 #9
Lige et add, jeg ville undgå alle de IF funktioner, derfor jeg gerne ville sende det mere direkte.
Avatar billede borrisholt Novice
14. januar 2005 - 12:47 #10
det er fontStyles du sender over din socket.  Bemærk  Pluralis.
Den konveterer du frem og til bage til en integer. Det var DET der var det smarte.

Jens B
Avatar billede stef_s Praktikant
14. januar 2005 - 13:00 #11
Jeg har forstået din mening med at konvertere ind til en integer, men så måtte spørgsmålet være, hvordan jeg kan vise mit richedit1.font.style.
Jeg laver en anden tråd så.
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