hallo tobi, das ist der code von visualbasic 5.0.
den kannst du mit deinem nicht vergleichen. weil du deine routinen selbst zusammenstellt und kontrollieren musst. zum beispiel ist die "ocx" noch zusätzlich bei mir gefordert. ist aber auf jeden computer vorhanden.
man soll das rad bei windows nicht mehr neu erfinden. windows ist dafür geschaffen mit "ocx" und "dll" zu arbeiten, bei dir heissen sie dann halt "macros" und sind im programm mit als inhalt. dein programm ist aber trotzdem gut. da ich mit der zusätzlichen toolprogrammierung für den robby sehr flexibel sein muss, ist es von vorteil das wenn man diese sachen schnell ändern möchte so ein programm braucht. visualbasic ist dafür hervorragend, wenn man auch sieht, wie schnell man die "ocx" von der win-tv-karte ohne diese benutzen kann und nur mit ein paar declare-zugriffen auf dies "ocx" das gleiche machen kann als wär es das origprogramm von der wintv-karte, das schätze ich so.
mein programm kann ich jetzt in kürzester zeit umstellen "bps
auswahl", "pixel dehnen", "auswerten der daten im ram und nicht im picturefenster", "und... und...alles was die gameboy-cam für die visuelle sache braucht".
mfg pebisoft
ps: eine aufnahme von der gameboycam mit der visualbasicoberfläche
aufgenommen über RS232 und im picturefenster dargestellt befindet sich
im "album, persönliche galerie, pebisoft".
die daten von der gameboy-cam liest ein AVR16-8mhz mit dem internen
adc aus und sendet diese zum pc. geproggt mit winavr-c.
Code:VERSION 5.00 Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX" Begin VB.Form Form1 Caption = "Gameboycambild" ClientHeight = 3630 ClientLeft = 945 ClientTop = 780 ClientWidth = 4935 DrawMode = 11 'Stift Xor invers LinkTopic = "Gameboycambild" ScaleHeight = 3630 ScaleWidth = 4935 Begin VB.CommandButton Command2 Caption = "Bild zeichnen" Height = 465 Left = 600 TabIndex = 4 Top = 2700 Width = 1215 End Begin VB.PictureBox Picture1 Height = 1890 Left = 2400 ScaleHeight = 122 ScaleMode = 3 'Pixel ScaleWidth = 127 TabIndex = 2 Top = 300 Width = 1965 End Begin VB.OptionButton close Caption = "Close-RS232" Height = 495 Left = 480 TabIndex = 1 Top = 1200 Width = 1335 End Begin VB.OptionButton open Caption = "Open-RS232" Height = 495 Left = 480 TabIndex = 0 Top = 480 Value = -1 'True Width = 1455 End Begin MSCommLib.MSComm MSComm1 Left = 2025 Top = 1125 _ExtentX = 1005 _ExtentY = 1005 _Version = 327680 CommPort = 3 DTREnable = -1 'True BaudRate = 19200 EOFEnable = -1 'True End Begin VB.Label Label2 Caption = "19200bps" Height = 240 Left = 825 TabIndex = 5 Top = 225 Width = 765 End Begin VB.Label Label1 BackColor = &H80000009& Caption = "Label1" BeginProperty Font Name = "Arial" Size = 12 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 390 Left = 675 TabIndex = 3 Top = 1950 Width = 1065 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Dim zahl(16400) As Integer Dim zaehler As Integer Dim x As Integer Dim y As Integer Dim i As Integer Dim grau As Integer 'für den Pixelwert Private Sub close_Click() MSComm1.PortOpen = False End Sub Private Sub Command2_Click() For i = 0 To 16385 grau = zahl(i) Picture1.PSet (x, y), RGB(grau, grau, grau) 'malt den Pixel ins Bild x = x + 1 'ein Bildpunkt weiter nach rechts If x > 127 Then x = 0: y = y + 1 'wenn am Ende einer Spalte ,dann nächste Zeile Next i Me.Refresh x = 0 y = 0 zaehler = 0 End Sub Private Sub Form_Load() zaehler = 0 x = 0 y = 0 MSComm1.CommPort = 1 MSComm1.Settings = "19200,N,8,1" MSComm1.PortOpen = True MSComm1.RThreshold = 1 MSComm1.SThreshold = 1 MSComm1.InputLen = 1 End Sub Private Sub MSComm1_OnComm() Select Case MSComm1.CommEvent Case comEvReceive: zahl(zaehler) = Asc(MSComm1.Input) Label1 = zahl(zaehler) zaehler = zaehler + 1 End Select End Sub Private Sub open_Click() MSComm1.PortOpen = True End Sub







Zitieren

Lesezeichen