wie funktioniert lineInput?

willimc

Mitglied
Hallo,
ich würde gerne mal wissen ob es bei Textdateien ein Einheitliches Zeichen für das Zeilenende gibt bzw wie arbeitet der LineInput befehl in VB6? ich möchte gerne zahlen die in einer zeile stehen in eine array einlesen. die zahlen die dann in der nächsten zeile stehen sollen dann in ein zweites array usw.

außerdem könnte man hier nochmal posten ob es möglich ist zu sagen: Hallo = hallo und dann True zurück gegeben wird. also das groß und kleinschreibung keine berücksichtigung finden.

danke schonmal für eure Antwort
Timo
 
Zuletzt bearbeitet:
lineInput

danke für deine antowrt, aber das ist mir klar das das immer bis zum zeilenumbruch einliest. ich würde gerne wissen wie diese funktion das zeilenende erkennt, weil ich zahlen bis zum zeilenende einlesen möchte und mit line input kann ich doch nicht x zahlen in ein array schreiben oder doch?
 
also sobald er ein vbCrLf findet weiss er es ist eine neue zeile

am einfachsten wäre, es wenn du mal einen auszug aus deiner datei posten würdest...

wenn in deiner Datei z.B. pro Zeile eine Zahl steht, dann würdest du das so machen

Code:
i = 0
Open sFilename For Input As #1
While Not EOF(1)
    Line Input #1, str_inputline
    array(i) = str_inputline
    i=i+1
wend
close #1

wenn bei dir mehere Zahlen in einer Zeile sind, dann bräuchtest du irgendein Trennzeichen
 
Zuletzt bearbeitet:
-5 D:\FH_Job\Basic_Programm\Bildprogramm\daten\N_00_01.BMP 284 451 D:\FH_Job\Basic_Programm\Bildprogramm\daten\N_00_02.BMP 77.8382 451 450.956 1 0.911052 0.909421 0.906063 0.893821 0.887484 0.878881 0.856136 0.836428 0.843569 0.84665 0.84086 0.827808 0.847605 0.880062 0.926458 0.955801 0.958545 0.951811 0.946099 0.940362 0.938887 0.945079 0.955107 0.964856 0.969137 0.963483 0.944845 0.93012 0.918738 0.932533 0.935679 0.91983 0.862904 0.780712 0.666012 0.625093 0.575357 0.534895 0.463182 0.45916 0.43696 0.387251 0.355862 0.366298 0.365597 0.386755 0.392674 0.405798 0.413055 0.547251 0.658994 0.7502 0.806345 0.803829 0.792199 0.759593 0.713342 0.620434 0.511131 0.391195

-4 D:\FH_Job\Basic_Programm\Bildprogramm\daten\N_00_01.BMP 286 456 D:\FH_Job\Basic_Programm\Bildprogramm\daten\N_00_02.BMP 107.726 456 457.814 1 0.298098 0.481032 0.599422 0.704261 0.734601 0.716547 0.665526 0.644352 0.602502 0.583904 0.562723 0.43712 0.303658 0.33144 0.362409 0.362465 0.322588 0.445048 0.631347 0.849204 0.933601 0.944811 0.927107 0.891958 0.853853 0.83544 0.840227 0.84705 0.863309 0.884982 0.91212 0.920948 0.916889 0.915102 0.918286 0.910699 0.882707 0.821679 0.766427 0.687496 0.740143 0.761419 0.800128 0.769151 0.792695 0.827471 0.87481 0.903995 0.87957 0.832512 0.781709 0.676681 0.576636 0.490513 0.726319 0.842256 0.919234 0.950115 0.944675 0.938058

-3 D:\FH_Job\Basic_Programm\Bildprogramm\daten\N_00_01.BMP 331 437 D:\FH_Job\Basic_Programm\Bildprogramm\daten\N_00_02.BMP 140.911 437 437.347 1 -0.316385 -0.345693 -0.380673 -0.410069 -0.422094 -0.438335 -0.481233 -0.511018 -0.492563 -0.420591 -0.311426 -0.162897 -0.00162727 0.160211 0.323908 0.47411 0.634972 0.753485 0.821335 0.816449 0.746288 0.599413 0.417241 0.274575 0.165325 0.0748278 0.00987173 -0.0489554 -0.0916921 -0.10797 -0.0917532 -0.113856 -0.11808 -0.170824 -0.199676 -0.199837 -0.185364 -0.148268 -0.11806 -0.100827 -0.0905234 -0.0762427 -0.0683548 -0.0733357 -0.162774 -0.266195 -0.314742 -0.376719 -0.449661 -0.518351 -0.567543 -0.616209 -0.593493 -0.469312 -0.300306 -0.0936913 0.122421 0.329134 0.491854 0.618897




das ist ein auszug aus der datei. ich möchte die ganzen zahlen in mehreren feldern haben. habe dafür einen verbund (struktur) angelegt. wenn ich nun aber alle zahlen einlese, erkennt er das zeilenende nicht.

mittlerweile habe ich das auch schon gelöst, aber ich finde die lösung nicht so aqnsprechend. habe mit split gearbeitet. also vorher die gesamte zeile eingelesen und dann split aufgerufen.
 
da sind keine Zeilenumbruche drin, daher kann VB da auch gar nicht wissen wann eine neue Zeile anfangen soll

bzw. es gibt halt nur da Zeilenumbrüche wo ein neues Bild losgeht

du könntest die Datei auch vorher nochmal einlesen und alle Leerschritte durch vbCrLfm ersetzen, auch nicht besonders elegant, aber sollte auch klappen
 
Zuletzt bearbeitet:
Alternativ lies die Zeile ein und Splitte (Befehl: Split(); schau dir dazu die VB-Hilfe an) das ganze bei Leerzeichen (erst die Zahlen ausschneiden). Dann hast du alle Zahlenwerte in einem Array und kannst per Schleife alles durchgehen.


Der Doc!
 
Zurück