Avatar billede light Praktikant
03. juni 2002 - 22:41 Der er 9 kommentarer og
1 løsning

Kode til at tilføje fx.: 50 til X og gemme det i en Integer

Kode der har to Integer !
Fx.:

Dim Xdef As Integer, Ydef As Integer
Xdef = 0
Ydef = 100

I Xdef bliver der gemt X'es værdi og det samme med Y og Ydef.

Picture1.Line (X + 0, Y + 0)-(X + 25, Y + 25)

Nu skulle Xdef være:  25
og Ydef skulle være: 125

Men det virker ikke rigtigt !

Hvad er der galt ???

P.S.: Er først online igen i morgen !
plz giv mig nogle gode svar !! :)
Avatar billede siz23 Nybegynder
03. juni 2002 - 22:47 #1
kender ikke så meget til vb, men jeg tror ikke du kan ændre værdierne i en function (kan man ikke i c++ og delphi medmindre det er pointere).

så i dit eksemble vil
Xdef = 0
Ydef = 100

og din funktion værer
Picture1.Line (0, 100)-(25, 125)

håber det hjælper.
Avatar billede martin_moth Mester
03. juni 2002 - 23:38 #2
Nej, Xdef er stadig 0 og Ydef er stadig 100. Du tildeler kun værdier til Xdef og Ydef ET sted, nemlig

Xdef = 0
Ydef = 100

Og den linie du tegner går fra 0;0 til 25;25

Du bruger ingen steder Xdef eller Ydef til noget som helst - du sætter dem til hhv. 0 og 100, og så ikke mere. Så de variabler kan du lige så godt slette ;o) I din Picture1.Line bruger du nemlig nogle variabler X og Y du slet ikke har erklæret eller tildelt nogen værdier nogle steder - derfor har de værdien nul.

Her lidt kode der tegner 3 linier over hinanden

Dim X as integer, Y as integer, i as byte

For i = 1 to 3
  Picture1.Line (X, Y + i * 100)-(X, Y + i * 100)
Next i

De 3 linier går fra

(0,100) - (0,100)
(0,200) - (0,200)
(0,300) - (0,300)

/Martin
Avatar billede martin_moth Mester
03. juni 2002 - 23:43 #3
Sorry - en linei fra (0,100) - (0,100) er ret kort ;o) - mon jeg ikke skulle skrive

  Picture1.Line (X, Y + i * 100)-(X + 100 , Y + i * 100) og så få

(0,100) - (100,100)
(0,200) - (100,200)
(0,300) - (100,300)

/Martin
Avatar billede tjacob Juniormester
04. juni 2002 - 11:11 #4
Dim xStart, yStart, xLængde, yLængde, xSlut, ySlut

xStart = 0
yStart = 100
xLængde = 25
yLængde = 25
xSlut = xStart + xLængde
ySlut = yStart + yLængde

Picture1.Line (xStart, yStart)-(xSlut, ySlut)
Avatar billede tjacob Juniormester
04. juni 2002 - 11:19 #5
Du kan også bruge Step-kommandoen, og spare 2 variable. Step angiver den relative flytning fra startpunktet:

Picture1.Line(xStart, yStart)-Step(xLængde, yLængde)

Giver samme resultat som mit ovenstående svar.
Avatar billede tjacob Juniormester
04. juni 2002 - 12:05 #6
Du kan også udelade startpunkt, ved først at angive en startplacering:

CurrentX = 0
CurrentY = 100

Picture1.Line -(xSlut, ySlut)  giver også samme resultat.
Avatar billede tjacob Juniormester
04. juni 2002 - 12:07 #7
Eller:

CurrentX = 0
CurrentY = 100

Picture1.Line -Step(xLængde, yLængde)  giver også samme resultat.
Avatar billede light Praktikant
05. juni 2002 - 12:54 #8
Avatar billede light Praktikant
05. juni 2002 - 12:54 #9
svar det, tak !
Avatar billede martin_moth Mester
06. juni 2002 - 10:47 #10
Dit spørgsmål går på hvorfor din kode ikke virker. Det har jeg været så venlig at bruge tid på at forklare dig. Derudover har tjacob givet meget udførlige eksempler på hvordan man tegner linier

Og så napper du alle pointene selv????
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