En delm spørgsmål.. (120 point)

Tags:    delphi

Hej!

Jeg er rimelig ny i delphi og jeg har nogen spørgsmål som jeg meget gerne vil have svar på :)
I behøver ikke at kunne svae på dem alle sammen bare på dem i kan.

Spørgsmål

1. Hvordan indsætter man et baggrunds billede? (som evt. kan skifte)

2. En måde at generer et random tal mellem 1 og et andet tal? (vigtigt)

3. Hvordan laver man globale variabler?

4. Hvordan får man tal fra et "edit tekstfældt"?

5. Hvordan "linker" man til at et andet frame? Altså får et frame til at skifte ved tryk af knap?

6. Kan man ændre knappens udsene?

7. bool variabel type?

8. Hvordan laver man en fucktion(procedure?) i delphi? og hvordan klader man den?

9. Hvordan laver man flere argumenter i en if sætning? (&&?)

10. Hvordan viser man variabler i en label?

11. Hvad er begrændnsningen på integer?

12. Hvordan får man vist et billede?


Håber virkelig i bliver en hjælp !!!



[Redigeret d. 28/06-05 21:51:09 af Rasmus Hamberg]



9 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
1. Hvordan indsætter man et baggrunds billede? (som evt. kan skifte)

først klikker du et tomt sted på formen, såtager object inspectoren, fane bladet events, og dobbelt klikker udfra onpaint.
koden kan så se således ud:

Fold kodeboks ind/udKode 


billedfil er en string variabel, du skal/kan sætte en værdi for i formens oncreate (eller bare inden anden linje efter begin i ovenstående kode). billedfil skal indeholde stien med filnavn på dit baggrundsbillede (f.eks: billedfil:='c:\\test.bmp';)

når du så skal opdatere baggrundsbilledet (eller nærmere klaske et nyt oven på det gamle), angiver du en sti med filnavn i billedfil hvorefter kommandoen form1.repaint opdaterer skidtet.

bemærk at dette virker med almindelige bmp billeder.

2. En måde at generer et random tal mellem 1 og et andet tal? (vigtigt)

hvis du vil generere et tilfældigt tal i intervallet [a;b] skriver du:
tal := random(b-a) +a;

evt.
randomize;
inden for at seede et nyt tilfældigt tal (gør at det virker mere tilfældigt)

eks. i intervallet 50 til 100;

randomize;
tal := random(100-50) +50;

3. Hvordan laver man globale variabler?

det kan du gøre under var lige inden implementation
den ser formentlig allerede sådan ud:

var
Form1: TForm1;

du kan nu tilføje en ny global variabel ved at deklarere den efter form1

f.eks:
var //globale variabler kan deklareres her
Form1: TForm1;
globalvar : integer;

4. Hvordan får man tal fra et "edit tekstfældt"?

tal := strtoint(edit1.text);//hvis det altså er edit1 du skal hive noget ud af, ellers skiver du bare hvad indtastnings boksen hedder.

5. Hvordan "linker" man til at et andet frame? Altså får et frame til at skifte ved tryk af knap?

er forhenværende Javascripter??? forstår ikke hvad du mener. forms?

6. Kan man ændre knappens udsene?

ja! og det et helvede skal hilse at sige! så tror jeg du vil have mere glæde af at anvende et image komponent der langt hen af vejen også kan bruges som knap (den har også en onclick event)

7. bool variabel type?

en boolean variabel kan antage 2 forskellige værdier true og false
de deklareres således: boolvar : boolean;

jeg uddybe anvendelsen af dem her.

8. Hvordan laver man en fucktion(procedure?) i delphi? og hvordan klader man den?

nu er der stor forskel på funktioner og procedurer, funktioner returnerer noget og procedurer gør ikk!

hvis det blot skal være meget simpelt placerer du curserern lige efter:
{$R *.dfm}

hvorefter du hamrer ctrl+j i bund på tastebrættet. du kan bladre ned igennem listen og vælge procedure declaration eller function declaration, du skal nu vælge et navn til proceduren

her er et eksempel på en procedure:

procedure test();
begin
showmessage('hej');
end;

og su kan nu hvor som helst (bare det ligger under proceduren) i dette unit kalde test; som her resulterer i en popup boks.

9. Hvordan laver man flere argumenter i en if sætning? (&&?)
if ((a = 3) and (b=5)) then ...

du sætter en parantes rundt om din betingelse.

for nu at vende tilbage til boolean:
dit udsagn i en betingelse kan enten være sand eller falsk
det findes så nogle forskellige logiske operatorer, med forskellige betingelse for at noget er sandt
AND : begge udsagn skal være sande
OR : kun et sandt udsagn er nødvendigt
XOR : Netop et sandt
NOT : bytter om på sandt og falsk

10. Hvordan viser man variabler i en label?
det kommer an på hvad type din variabel er: hvis det er en integer:
(jeg anvender er labellen label1)
label1.caption := inttostr(intvar);

float (decimal variabel);
label1.caption := floattostr(floatvar);

string:
label1.caption := strvar;

det dækker vidst det mest nødvendige.

11. Hvad er begrændnsningen på integer?

2^31 -1 (dette er i øvrigt et primtal:))

12. Hvordan får man vist et billede?
du kan gå under fane additional og smide et komponent på af typen TImage. i object inspectoren kan du så under properties vælge picture og derefter finde et billede.

håber det kan være dig til hjælp

/Troels




3. Hvordan laver man globale variabler?


hvis du skriver f.eks
i: integer under public er det et globalt variabel


4. Hvordan får man tal fra et "edit tekstfældt"?


integer_variabel:= StrToInt(Edit1.Text);


7. bool variabel type?


Hvis du mener hvordan man laver et er det bare hej: boolean;


8. Hvordan laver man en fucktion(procedure?) i delphi? og hvordan klader man den?


tilføj procedure Hej; under public og skriv procedure TForm1.Hej; efter {$ *.dfm} eller hvad det nu er der står. Så kalder du den bare normalt. f.eks.
begin
Hej;
end;


10. Hvordan viser man variabler i en label?

Label1:= streng_variabel;


11. Hvad er begrændnsningen på integer?


Prøv at sige integer_variabel:= 99999999999999999999999999; så kommer der nok en error der siger at tallet skal være mellem bli og bla.


12. Hvordan får man vist et billede?


Du bruger komponentet TImage som du finder under Additional-tabben.

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GED d- s: a--- C++ U? P L+ E? W++ N? o? K- w
O? M? V? PS PE? Y? PGP++ t 5? X+ R tv+ b+ DI? D+
G e-- h! !r y--
------END GEEK CODE BLOCK------



Hej!

Jeg er rimelig ny i delphi og jeg har nogen spørgsmål som jeg meget gerne vil have svar på :)
I behøver ikke at kunne svae på dem alle sammen bare på dem i kan.

Spørgsmål

1. Hvordan indsætter man et baggrunds billede? (som evt. kan skifte)

2. En måde at generer et random tal mellem 1 og et andet tal? (vigtigt)

3. Hvordan laver man globale variabler?

4. Hvordan får man tal fra et "edit tekstfældt"?

5. Hvordan "linker" man til at et andet frame? Altså får et frame til at skifte ved tryk af knap?

6. Kan man ændre knappens udsene?

7. bool variabel type?

8. Hvordan laver man en fucktion(procedure?) i delphi? og hvordan klader man den?

9. Hvordan laver man flere argumenter i en if sætning? (&&?)

10. Hvordan viser man variabler i en label?

11. Hvad er begrændnsningen på integer?

12. Hvordan får man vist et billede?


Håber virkelig i bliver en hjælp !!!



[Redigeret d. 28/06-05 21:51:09 af Rasmus Hamberg]


Og alt dette kan du finde svaret i første kapitel af RTFM eller en bog, men jeg kan dog sige at begrænsningen på en integer er, http://www.delphibasics.co.uk/RTL.asp?Name=Int64 (Som jeg fandt på nettet!!) og jeg vil da gerne henvise til udvikleren.dks Delphi sektion, http://www.udvikleren.dk/articles.php?techid=2 og måske denne artikel,
http://www.udvikleren.dk/article.php?aid=2&techid=2. Forklarer lidt om labels osv.
Håber du kan bruge det til lidt.

Slot - All your base are belong to us
http://www.sigsys.dk



Nogen som kender en random metode (MEGET VIGTIGT)



Randomize;
integer_variabel:= Random(10);//finder til mellem 0 og 10
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GED d- s: a--- C++ U? P L+ E? W++ N? o? K- w
O? M? V? PS PE? Y? PGP++ t 5? X+ R tv+ b+ DI? D+
G e-- h! !r y--
------END GEEK CODE BLOCK------



TAKKER!

Kom bare med flere svar!

[Redigeret d. 28/06-05 23:23:28 af Rasmus Hamberg]



WOW WOW !

Mangler stadig et vigtigt spørgsmål som jeg nu vil forklare lidt bedere:

Jeg har et frame. Når man trykker på en knap skifter det fra frame1 til frame 2?

I får point til sidst! deler dem fair :)



Frames i Delphi er ikke lige det emne jeg har studeret mest. Men så vidt jeg forstår dig, så tror jeg hellere at du vil have fat i komponentet TPanel under standard paletten, den kan du smide komponenter oven på, og når den så ikke skal være synlig mere Panel1.visible := false; og tilsvarende true hvis den skal være synlig.

der er for så vidt ingen begrænsning på hvor mange panels du kan sætte ind.

for at få den til at ligne en frame fjerner du i object inspectoren teksten ud caption, og sætter bevelOuter til bvNone.

Det burde kunne gøre.

/Troels



Mange tak! Deler point ud nu :)



t