Avatar billede monie Nybegynder
22. april 2004 - 11:36 Der er 14 kommentarer og
1 løsning

Ønsker SpinEdit skal viser og starter med 1,2,3...20 Max

Jeg har brug for, at når programmet kører så vises SpinEdit
fra starter med 1 og klikkes videre med 1,2,3..20 Max

Mine koder:
SpinEdit1.MaxValue:=100; //Max enheder --- Alså noget med 100/5 hvordan gørres dette?
SpinEdit1.Increment:=1; //Spring

Men skal bruge enheden 1 til 100 i mine koder.

Med venlig hilsen
Moie jacobsen
Avatar billede cautoo Nybegynder
22. april 2004 - 13:37 #1
du kan sagtens skrive
round(100/5) men forstår jeg det rigtigt, skal du så ikke bare skrive maxvalue=20 ?
Avatar billede monie Nybegynder
22. april 2004 - 13:54 #2
Sådan har jeg skrevet det?
Men vil ikke gå fra 1 til 2 osv ?

serRadius.MaxValue:=round(100/5); //Max enheder
serRadius.Increment:=1; //Spring
serRadius.Value:=1;

Hvad skal de andre stilles?

Increment?
MaxLength?
maxValue?
MinValue?
Value?
Avatar billede monie Nybegynder
22. april 2004 - 14:03 #3
Beskrivelse:
Via InputBox skal der indskrives, det tal skal være max step.
Dette tal fra InputBox skal så indgå i SpinEdit1.MaxValue:=round(100/5)= 20;
Hvordan gørres dette?
Avatar billede stoney Nybegynder
22. april 2004 - 14:23 #4
100 div 5

Stoney
Avatar billede monie Nybegynder
22. april 2004 - 14:30 #5
Hvis jeg kun SpinEdit1.MaxValue:=round(100) så er resultatet rigtig.
Men Via InputBox skal der indskrives, det tal skal være max step.
Dette tal fra InputBox skal så indgå i SpinEdit1.MaxValue:=round(100/5)= 20;
Hvordan gørres dette?
Avatar billede monie Nybegynder
22. april 2004 - 14:39 #6
Se www.sunwind.dk/profilvalg.jpg

Og her:
(r/R) vælg profil sektioner
Der skal tallet 1..20 i step og kunne vælges via InputBox, det indskrivet,
det tal skal være max step.
Dette tal fra InputBox skal så indgå i SpinEdit1.MaxValue:=round(100/5)
Avatar billede hrc Mester
22. april 2004 - 22:03 #7
Det kan ikke passe at MaxValue := 20 ikke virker. Round(100/5) giver det samme resultat. I øvrigt er det korrekt at skrive: ".MaxValue := 100 div 5;" for at lave en heltalsdivision. Tror det er femte gang jeg nævner det på eksperten. Man lærer åbenbart ikke at lave effektiv kode længere ;-) - ikke ment som spydighed, kun resigneret drilleri fra min side.

Sæt MinValue = 1, MaxValue = StrToInt(eData.Text) div 5, Increment = 1 og hvis eData.Text = '100', så har du kun 20 tal at vælge mellem.

Hvis du sætter EditorEnabled = false kan du ikke skrive i feltet, kun klikke frem og tilbage. Hvis komponenten skal tælle op, så kan du prøve med dette:

  if SpinEdit1.Value = 20 then
    SpinEdit1.Value := 1
  else
    SpinEdit1.Value := SpinEdit1.Value + 1;

Det var lidt af hvert, og beklager hvis jeg ikke har forstået dit problem, men

  SpinEdit1.MaxValue:=round(100/5)= 20

forvirrede mig mere end det gavner. Prøv at fortæl en ditto fynbo (har været inde på din side) hvad det er du har brug for at lave.
Avatar billede hrc Mester
22. april 2004 - 22:14 #8
Jeg kan ikke se på dit billede hvor den inputboks stammer fra. Endnu mindre forstår jeg hvorfor du laver 100/5 - den del undrer mig ret meget, jvf. min snak om "StrToInt(eData.Text) div 5" for du har vist kun brug for at sætte den til 20.

Kan det være så simpelt som:

var
  i : integer;
begin
  i := StrToIntDef(Inputbox('Beam me up, Scottie','Aie, Sir','7'),-1);
  if (i >= SpinEdit1.MinValue) and (i <= SpinEdit1.MaxValue) then
    SpinEdit1.Value := i;
end;

InputBox giver dig ikke meget styr over hvad der skrives, men StrToIntDef konverterer ugyldigt input til -1 som får den til at skippe SpinEdit'en.
Avatar billede hrc Mester
22. april 2004 - 22:14 #9
Fandt ud af at der var noget der hed InputBox (ahem).
Avatar billede monie Nybegynder
23. april 2004 - 07:48 #10
Inputbox:
Se her: www.sunwind.dk/vingemenu.jpg

Skal i programmet for, at kunne udregne profilerne havde 1..100 enheder,
men dette skal via InputBox'en kunne havde en indeling f.eks 20
som kan ses i SpinEdit (serRadius) alså 100/5 = 20 step a 5

Har indsat nedstående kode i SpinEdit under Events/OnChange

serRadius.MaxValue:= StrToInt(antalsek) div 5;

serRadius.Increment:=1;
serRadius.Value:=1;
serRadius.MaxLength:=100;
serRadius.MinValue:=1;

Men i SpinEdit's komponent, hvad skal der skrives i Incremen, Value,
MaxLength og MinValue for ikke at konfligte?

Min InputBox:

procedure TfmProfilValg.Button1Click(Sender: TObject);
var
  antalsek : integer;
begin
  antalsek := StrToIntDef(Inputbox('Indskrin antal sektioner','Aie, Sir','20'),-1);
  if (antalsek >= serRadius.MinValue) and (antalsek <= serRadius.MaxValue) then
    serRadius.Value := antalsek;
end;

Men kan ikke få det til at virke, derfor denne forhåbentligt beder problembeskrivelse!

Med venlig hilsen
Monie Jacobsen
Avatar billede monie Nybegynder
23. april 2004 - 08:15 #11
Har også prøvet dette:
serRadius.MaxValue:= 100 div StrToInt(serRadius.Text);

Med det der indskrives i InputBox'en skrives ikke i SpinEdit som derefter
skulle laves step fra 1...InputBox
Avatar billede monie Nybegynder
23. april 2004 - 15:27 #12
Prøver igen at beskrive hvad jeg ønsker!

Et brat på 100 mm ønskes delt i 20 stykker,
det giver 20 stykker a 5 mm
serRadius.MaxValue:= round(100/20);

De 20 indskrives InputBox'en.
Det kunne lige sågodt havde været 30 stykker der ønskes delt.
Avatar billede monie Nybegynder
26. april 2004 - 07:05 #13
Da jeg ikke har fået et brugbar svar på midt spørsmål, lukker jeg denne trå.
Avatar billede hrc Mester
26. april 2004 - 22:22 #14
Hej monie. Som jeg lovede ville jeg gerne hjælpe dig med dine spørgsmål, men tid er der ikke noget af.
Undskyldningen er at jeg er blevet arbejdsramt (ak ja, det sker, selv på Fyn), skal til prøve på fredag, have gjort bilen klar til syn og ... havde næsten glemt det (passer ikke) ... det er lige oppe over med den første i rækken af kloner af undertegnede. Det betyder at førnævnte arbejde, økonomi, lejlighed, bil og tilværelse skal koordineres i en grad jeg ikke har prøvet før - der er simpelthen ikke tid til Eksperten og det ærger mig. Synes lige jeg var begyndt at bidrage med noget.

Se det var den "disclamer" der næsten var Microsoft værdig ("We can not be held liable for ... well, basically anything that our software ...")!

Jeg vil prøve at hænge på Delphi-tråden og hjælpe hvor jeg kan, men indtil ble-rutinen er på plads, bliver det begrænset. Held og lykke med dit projekt.

/Henrik
Avatar billede monie Nybegynder
27. april 2004 - 06:24 #15
Tak Henrik
Held og lykke med prøve på fredag.
Ja, det er rigigt, "det arbejde, tager alt for meget, af ens fritid".
held og lykke.

Med venlig hilsen
Monie Jacobsen
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