Popsux Skrevet 24. oktober 2008 Del Skrevet 24. oktober 2008 Hei. Jeg prøver å lage en kode som bytter bilde-fil i en "TImage". Ved å bruke en knapp som blar til høyre og en annen knapp som blar til venstre. Hvis jeg har f.eks. 5 bilder, hvordan kan jeg lage en kode som blar i mellom 5 bilder, men bare ett om gangen for hvert trykk på knappen (enten til høyre eller venstre). ? Kanskje litt komplisert spørsmål, men håper noen forstår det og kan gi meg et svar! Setter pris på det =) Lenke til kommentar
sinnaelgen Skrevet 24. oktober 2008 Del Skrevet 24. oktober 2008 (endret) jeg forslår at du bruker en variabel som teller opp eller nedover avhengig av om det er "høyre" eller "venstre " knapp du trykker på. så bruker du verdien i denne variabel til å bestemme hvilket bilde som skal brukes. her har jeg brukt variabelen t case t of 0:st:=... bilde1 1::st:=.. bilde2 ... 4:st:=.. bilde5; end; eksemplet er ikke helt komplett . her må dulegge in den stien til bildene som passe for deg . for å laste inn bilde ville jeg har brukt en av disse metodene: timage.Picture.LoadFromFile(st); timage.Picture.Bitmap.LoadFromFile(st); husk bare på at når teller er kommet til 5 så må du bestemme om bilden skal begunne på nyt eller om det er her stopp. begynne på nytt: if t > 4 then t := 0; stoppe med bildene her : if t > 4 then t = 4; hvis du går andre veien så blir det slik if t < 0 then t := 4; if t < 0 then t := 0; Endret 24. oktober 2008 av elg-elg123 Lenke til kommentar
Popsux Skrevet 26. oktober 2008 Forfatter Del Skrevet 26. oktober 2008 Sorry... er litt treg. Fikk det ikke helt til. Kan du spesifisere litt mer? =) Lenke til kommentar
sinnaelgen Skrevet 26. oktober 2008 Del Skrevet 26. oktober 2008 (endret) her er et eksempel program: unit bildetest; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm16 = class(TForm) venstreknapp: TButton; hoereknapp: TButton; Image1: TImage; procedure FormCreate(Sender: TObject); procedure venstreknappClick(Sender: TObject); procedure hoereknappClick(Sender: TObject); procedure visbilde; private { Private declarations } public { Public declarations } end; const maks = 4; // antall -1 ( 0 - antall-1 =antall ) var Form16: TForm16; t:integer; implementation {$R *.dfm} procedure tform16.visbilde; var st:string; begin case t of 0: st:='M:\mineprosjekt\buttoneditor\bitmaps\1a.bmp'; 1: st:='M:\mineprosjekt\buttoneditor\bitmaps\2a.bmp'; 2: st:='M:\mineprosjekt\buttoneditor\bitmaps\3a.bmp'; 3: st:='M:\mineprosjekt\buttoneditor\bitmaps\4a.bmp'; 4: st:='M:\mineprosjekt\buttoneditor\bitmaps\5a.bmp'; end; image1.Picture.LoadFromFile(st); end; procedure TForm16.venstreknappClick(Sender: TObject); begin dec(t); // redusaerer med 1 if t < 0 then t := maks; visbilde; end; procedure TForm16.hoereknappClick(Sender: TObject); begin inc(t); //øker med 1 if t > maks then t:= 0; visbilde; end; procedure TForm16.FormCreate(Sender: TObject); begin t:=0; // man bør ha en startverdi for å hindre problemer visbilde; end; end. du må bare plaser to knapper og en timage på en form bilde filene må du selv velge jeg har også valg en konstant som jeg har valgt å kalle maks. hvis du ønsker flere elle færre bilder så kan du andre denne verdien, eller bytte ut "maks" i koden med det antallet du ønsker Endret 26. oktober 2008 av elg-elg123 Lenke til kommentar
Popsux Skrevet 26. oktober 2008 Forfatter Del Skrevet 26. oktober 2008 Tusen takk elg-elg!! Ser nå hva jeg gjorde galt da jeg skulle prøve min metode! Setter stor pris på hjelpen. Hjelper meg mye! Å lærer meg samtidig noe nyttig!! =) Thanks! Lenke til kommentar
Popsux Skrevet 26. oktober 2008 Forfatter Del Skrevet 26. oktober 2008 Faktisk... etter at dette funka, så prøvde jeg det samme programmet på en annen pc. Og da funket ikke programmet. Men jeg har ikke trykt "Build Project".. Jeg har bare flyttet over alle filene etter å ha kjørt programmet (trykt F9).. Kan dette være årsaken tro? Lenke til kommentar
tasle Skrevet 27. oktober 2008 Del Skrevet 27. oktober 2008 Årsaken er vel kanskje at du ikke har endret mappenavnet (directory)? Lenke til kommentar
sinnaelgen Skrevet 27. oktober 2008 Del Skrevet 27. oktober 2008 de eneste filen som du trenger å flytte er den filen som kompilatoren lager. det er en exe fil f.eks "mitprosjekt.exe". slik dette eksempel programmet er laget foruretter det at filen er på samme sti uansett pc d.v.s filene er lagret på nøyaktig same plass som på den andre pcen. da er det enklere å endre disse stiene og så kompilere på nytt. nærmer forklart: hvis bilde filen ligger på "c:\minebilder\litavhvert\spesiellebilde\mitbilde1.bmp. så må det også være det samme på den andre maskinen. alternativet er å leke seg lit med og kombinere fler av mulighetene for å bestemme hvordan man finner filene. her er det altfor mange muligheter som vil ta hele kvelden og vel så de å forklare. ett tips er å lage en liste. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå