I stedet for at have et array med en hel masse data, kunne du så ikke bare gemme billedernes navne? Og så hente dem vis arrayet med loadpicture(Array(BilledNummer)) eller hvad du nu vil med dem.
Jeg ved godt at det ikke er det du spørger om, men umiddelbart kan jeg ikke se nogen fordel i at konvertere et billede til en variabel med en masse bytes (hvordan?), og gemme disse bytes i et array. Men skal nok tie stille med mine "gode" ideer - lytter med, da jeg måske kan lære noget ;o)
Private Sub Command1_Click() With PicArray Me.Picture = .PicItem(.PicCount) End With End Sub
Private Sub Form_Load() With PicArray .AddItem LoadPicture("C:\filenavn.bmp") Me.Caption = .PicCount End With End Sub '---------------------------- Form1 ----------------------------
Private PicArray() As StdPicture Private lCount As Integer
Public Function PicItem(Index As Integer) As Picture If Not lCount = -1 And lCount >= Index Then Set PicItem = PicArray(Index) End If End Function
Public Property Get PicCount() As Integer If Not lCount = -1 Then PicCount = UBound(PicArray()) Else PicCount = -1 End If End Property
Public Function Clear() ReDim PicArray(0) As StdPicture lCount = -1 End Function
Public Function AddItem(ThePic As Picture) If lCount = -1 Then lCount = 0 Set PicArray(0) = ThePic Else lCount = lCount + 1 ReDim Preserve PicArray(lCount) As StdPicture Set PicArray(lCount) = ThePic End If End Function
Private Sub Class_Initialize() ReDim PicArray(0) As StdPicture lCount = -1 End Sub '---------------------------- Class1 ----------------------------
Synes godt om
Nybegynder
30. april 2003 - 18:21#6
Nej Tak sjh det er indholdet af et billede hvor jeg skal sende det ovet internette. Og jeg vil gerne have det i en array byte()
Private Sub Form_Load() Dim intFree As Integer Dim PICBytes() As Byte intFree = FreeFile Open "C:\filenavn.bmp" For Binary As #intFree ReDim PICBytes(LOF(intFree)) As Byte Get #intFree, 1, PICBytes() Close #intFree
Hvis du bruger Winsock kan det godt værre at du skal bruge Redim igen.
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim PICBytes() As Byte
ReDim PICBytes(bytesTotal) As Byte
Winsock1.GetData PICBytes(), vbByte, bytesTotal
intFree = FreeFile
Open "C:\Nyfilenavn.bmp" For Binary As #intFree Put #intFree, 1, PICBytes() Close #intFree End Sub
Synes godt om
Nybegynder
01. maj 2003 - 01:01#10
Ja tak dette kender jeg også men en bmp-fil fylder rimlig meget men du får point. Men hvis du kender en måde hvor det ikke fylder så meget så er det meget velkommen. Der er selvfølig jpg-filer men de kan man ikke load ind i en picture box og gemme som en jpg-filer igen.
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.