07. juni 2003 - 11:09Der er
8 kommentarer og 1 løsning
Åbne en Intel hex fil ind i et Array og vise det i MSFelxgrid
Hej Alle.
Jeg vil gerne vide hvordan man åbner en Intel Hex fil ind i et Array og herefter viser det i et MSFlexgrid, jeg ved aldrig hvor stor filen er, så det skal være dynamsik, jeg ved dog hvordan første og sidste linie på filen ser ud uanset størrelsen.
Ydre mere skal det være sådan at det indlæses i Array/flexgrid i dette format. Første og sidste linie skal "bare" indlæses i deres helhed i felt 1
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Her er et billede af hvordan det kunne se ud, på billedet vises dog ikke :10 i starten af hver linie, og de sidste XX i slutningen af hver linie, men de skal også vises.
Private Sub Form_Load() Dim i As Integer With MSFlexGrid1 .Clear .Cols = 18 .Rows = 1 .SelectionMode = flexSelectionByRow .ColWidth(0) = 900 For i = 1 To (.Cols - 1) .ColWidth(i) = 300 Next i End With Call LoadHEX("texthex.txt") '<-- Den file du har dine hex koder i..
End Sub
Public Sub LoadHEX(ByVal strPath As String) Dim i As Long Dim j As Long Dim intFree As Integer Dim NextLine As String Dim strLine As String Dim arrLine() As String intFree = FreeFile
Open strPath For Input As #intFree Do Until EOF(intFree) ReDim Preserve arrLine(i) As String Line Input #intFree, NextLine arrLine(i) = NextLine i = i + 1 Loop Close #intFree
Det virker KANON, men kan man lave så hele Første og sidste linie ikke bliver vist i flexgridden ??. Jeg har et ? mere, jeg vil gerne oprette en ny tråd med flere point hvis nødvendig. Hvordan gemmer man så hele flexgridden i en ny hex fil ??. (common dialog skal jeg nok selv sætte ind !!.
Private Sub Command1_Click() Call SaveHEX("texthex_ny.txt") '<-- Den file du skal have dine nye hex koder i.. End Sub
Private Sub Form_Load() Dim i As Integer With MSFlexGrid1 .Clear .Cols = 0 .Rows = 0 .SelectionMode = flexSelectionByRow .Cols = 18 .ColWidth(0) = 900 For i = 1 To (.Cols - 1) .ColWidth(i) = 300 Next i End With Call LoadHEX("texthex.txt") '<-- Den file du har dine hex koder i.. End Sub
Public Sub SaveHEX(ByVal strPath As String) Dim i As Long Dim j As Long Dim strOut As String Dim intFree As Integer
With MSFlexGrid1 For i = 0 To (.Rows - 1) For j = 0 To (.Cols - 1) strOut = strOut & .TextMatrix(i, j) Next j strOut = strOut & vbCrLf Next i End With
intFree = FreeFile Open strPath For Binary Access Write As #intFree Put #intFree, , strOut Close #intFree End Sub
Public Sub LoadHEX(ByVal strPath As String) Dim i As Long Dim j As Long Dim intFree As Integer Dim NextLine As String Dim strLine As String Dim arrLine() As String intFree = FreeFile
Open strPath For Input As #intFree Do Until EOF(intFree) Line Input #intFree, NextLine If Len(Trim(NextLine)) = 43 Then ReDim Preserve arrLine(i) As String arrLine(i) = NextLine i = i + 1 End If Loop Close #intFree
Hmmm, ja det virker, men når man ikke loader første og sidste linie ind i flexgridden, bliver den selvfølgelig heller ikke gemt, kan man gøre det på den måde at man rent faktisk loader første og sidste linie med i flexgridden, men ikke viser dem på skærmen, så de også bliver gemt med i den nye fil ??.
1000 TAK for hjælpen, det kunne godt se udtil at jeg har kvajet mig lidt !!!, man kan ikke bare ændre en celle manuelt i et flexgrid, så det skulle nok have været en Datagrid i stedet for. Jeg giver dig dine point nu, og opretter et nyt ?, med et datagrid i stedet (håber du kan hjælpe her også)
Jeg har lidt problemer med den sidste kode du lavede til mig, det var meningen at første og sidste linie skulle "klippes" af, første linie er OK, men den klipper de sidste 2 linier af, og ikke kun den sidste, kan du hjælpe med at løse dette ??.
Mvh.
Christian_h
PS. Jeg har fundet udaf hvordan man kan ændre direkte i en celle i et flexgrid, så jeg bruger din kode i mit prog :-)
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.