03. oktober 2002 - 14:22Der er
16 kommentarer og 1 løsning
Import af billed!!!
Jeg har en acces database... jeg har lavet et program hvor man laver charactherer til rollespil. LIGE nu der er det en lidt besværlig måde at indsætte et billed af sin characther i programmet. Det jeg gerne vil er at, når man har lavet sin characther (oprettet en ny post). At man kan "uploade" et billed, ved at man trykker på en knap og en normal komando vindue kommer op (lidt ala når man skal åbne en fil i et program). Man vælger dernæst sit billed, og trykker og.
Det programmet skal gøre er at kopierer billedet fra hvor det ligger, og ligge det ind i et bibliotek som ligger under mit program (dette bibliotek er det samme sted HVER gang, lad os kalde det "PIX". Dernæst skal den omdøbe filen til det der står i en bestemt textboks (feks txtname.text) + lave den til en (txtname.text).jpg!
Grunden til at den skal omdøbe filen, er at mit program åbner det billed der passer i filnavn til min characthers navn.....
HVIS der er nogen der har en bedre IDE, så kom endelig bare med den!!!
Der er osse en anden mulighed.... hvis nu den skriver selve filens navn ind i access databasen, efter at have kopieret den til biblioteket "PIX" ,istedet for at om døbe den.... er det en bedre ide?????
Er det bare fra et sted på hardisken til et andet? Kan man vælge et hvilket som helst billede, eller er det bestemte? Har de alle samme størrelse eller skal billedet også kunne skæres til?
Hvis ikke du får hjælp skal jeg gerne vende tilbage imorgen aften.
Hvis det er faste billeder kan du vel lave det i en drop-down elle en listbox og vise billedet når man klikker på navnet. Bliver det så valgt klan du bare flytte og rename billedet med en filecopy og indsætte navnet i din database. Mere kan jeg ikke hjælpe hvis jeg skal gætte mig til hvad det er du præcist vil.
1.: Hvordan opretter jeg en CommandKnap der åbner et vindue (ligesom når man vil åbne en eller anden fil i et hvilket som helst program) hvor man kan browse rundt efter et billed.
2.: Hvordan får man den fil man så end vælger, til at blive kopieret ind i biblioteket "PIX" som ligger i app.path'en.
3.: Hvordan omdøber man filen til at hedde det som står i textboxen "txtName"?? Altså står der TOM, så skal filen hedde "TOM.*"
Option Explicit ' Tryk Ctrl + t, så får du Components, vælg Microsoft Common Dialog Control og sæt flueben ' sæt den på din form og kald den comdlg1
Private Sub Command1_Click() comdlg1.CancelError = True On Error GoTo errhandler comdlg1.Filter = "Alle filer (*.*)|*.*|Bitmap (*.bmp)|*.bmp|Jpeg (*.jpg)|*.jpg|Gif (*.gif)|*.gif" comdlg1.ShowOpen fil = comdlg1.FileName 'Picture1.Picture = LoadPicture(comdlg1.FileName) ' Navnet er tom så filen skal f.eks ligge i app.path\pix\tom.bmp
errhandler: Exit Sub DoEvents End Sub
'2:/
Private Sub Command2_Click() Dim filnavn, charname As String charname = "TOM" If Right(App.Path, 1) = "\" Then filnavn = App.Path & Trim("pix\") & Trim(charname) & Trim(Right(comdlg1.FileName, 4)) Else filnavn = App.Path & Trim("\pix\") & Trim(charname) & Trim(Right(comdlg1.FileName, 4)) End If Text1 = filnavn FileCopy comdlg1.FileName, filnavn End Sub
Og sp kommer jeg til at se at den laver den om til en slags noname! Jeg vil jo gerne have at den omdøber filen til det samme som står i text1.... og det virker osse godt..... undtagen lige det med efternavnet!
Den omdøber f.eks C:\fil1.jpg til app.path\pix\tom.jpg ! :O) '... Trim(Right(comdlg1.FileName, 4)) bestemmer jo netop de sidste 4 tegn i filnavnet, hvilket burde være det samme
OK.... NU virker det... min fejl... MEN det er lidt den forkert vej rundt.... billedet skal umdøbes til det der står i "text1"... jeg kan se at den bliver omdøbt til "TOM"....
OG så skriver den stien i "text1".... det vil sige at HVIS jeg har en database hvor jeg har flere forskellige poster i.... så vil det jo give et problem for hver post skal have hver sit billed....
Hvis du er villig til det, så har jeg lige en lille EXTRA opgave til dig... det har nemlig noget med det her at gøre!!!
Nu går jeg ud fra at der kun er 1 character med navnet TOM123. Dvs at navnet på bileldet vil være f.eks. TOM123.jpg.
Altså vil du kunne finde billedet og lægge det i en picturebox således:
Private Sub Command3_Click() Dim hentfil, billednavn As String billednavn = "TOM123.jpg" If Right(App.Path, 1) = "\" Then hentfil = App.Path & Trim("pix\") & Trim(billednavn) Else hentfil = App.Path & Trim("\pix\") & Trim(billednavn) End If Picture1.Picture = LoadPicture(hentfil) End Sub
Den bliver da åbnet i picureboxen picture1. Troede det var det du ville? Hvorfor vil du åbne det i eksternt program?
- Mikker
Synes godt om
Ny brugerNybegynder
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.