Avatar billede rasmuskrigslund Nybegynder
13. juni 2002 - 14:29 Der er 7 kommentarer og
1 løsning

Hvordan defineres en streng og kan den indeholde farver?

Jeg har et program hvor der bliver udtrukket nogle tilfældige tal. Disse tal bliver markeret vha en masse paneler ( et panel til hver muligt tal). Måden tallene markeres er at panelet skifter farve.
En del af programmet er så at man skal kunne ændre farven tallene markeres med.

Mit spørgsmål går så ud på i første omgang at få en streng defineret. i console app. gøres det under type.. f.eks.:

type
farve = String[10];

var
m: farve;

men denne metode går ikke når man programmerer til windows. Hvordan skal man ellers gøre?

Den næste del af spørgsmålet: Meningen med denne streng er, at for at kunne skifte farven de før omtalte tal markeres med, kunne proceduren gå ind og ændre i strengen f.eks: m:=clred

Kommandoen til at markere tallene kunne så henvise til strengen m og få farven derfra... Kan det lade sig gøre?
Avatar billede martinlind Nybegynder
13. juni 2002 - 14:44 #1
Punkt 1. Lad være med at skrive at ting ikke "går ikke når man koder i windows", når du ikke har fattet en skid af hvad du udtaler dig om.

Punkt 2. Da en TColor i Delphi er defineret sådan
TColor = -$7FFFFFFF-1..$7FFFFFFF;
Kan du ikke tilskrive en streng med dens værdi direkte.

Hvis du vil ha' konverteret clRed til strengen 'clRed' kan du bruge ColorToString / StringToColor

/Martin
Avatar billede martinlind Nybegynder
13. juni 2002 - 14:45 #2
og lige en ting mere i Delphi kan du lave nøjagtig de samme Type og Var's i både en Console App som i en Alm. App med forms.
Avatar billede rasmuskrigslund Nybegynder
13. juni 2002 - 14:53 #3
takker for reprimanden... men sådan er det nu engang med newbies.

Har prøvet at definere strengen: farve = string[10] men den påstår at den hellere vil have et : i stedet for =.

Men tak for den ColorToString-kriger.. den manglede jeg ihvert fald. Men gælder dert også hvis man vil ændre en teksts stil f.eks. til bold, italic osv.? Altså skal man have en sådan speciel kommando?
Avatar billede rasmuskrigslund Nybegynder
13. juni 2002 - 14:54 #4
dert=det
Avatar billede martinlind Nybegynder
13. juni 2002 - 15:02 #5
Det er fordi du definere en type med ":" det sætter den ikke til en værdi "="

Type
  tFarve : String[10];
  //tFarve : String[10] = 'clRed';

VAR
  M : tFarve;
Avatar billede martinlind Nybegynder
13. juni 2002 - 15:03 #6
Du ændre som regl skrift type ved at sætte en "Font" property, kig på en TLabel/TButton
Avatar billede rasmuskrigslund Nybegynder
13. juni 2002 - 15:51 #7
tusind tak for hjælpen mht. det med farverne. Nu virker det perfekt. Men jeg er bange for at jeg ikke fik forklaret det med skriftstilen korrekt. Mit problem er at jeg gerne, ligesom med farverne, vil skifte skriftstil i "run-time"-mode. Altså bestemme om tallene på panelerne skal skrives med fed, kursiv eller understreget skrift.

Mit bedste bud ville være en kommando som følgende: Font.style:='bold' Men der skal sikkert bruges en speciel kommando ligesom ColorToString for at det virker... men hvilken?
Avatar billede martinlind Nybegynder
13. juni 2002 - 19:57 #8
Sådan :

Font.Style := [fsBold]
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