Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249321 (10757)
  Suchen
 Zurück zur Übersicht
 AutorThema: textstelle suchen und anzeigen
Ralf Michelberger
Datum:05.12.01 14:57 Antwortenals Email verschicken (ralf.michelberger@gmx.net) 


Hallo,
habe schonmal so eine ähnliche Anfrage gestartet.
Habe eine TEXTDATEI mit folgendem Inhalt:
"test02
STARE2 556,23
600201001798 Michelberger, A. + R. GK51000
B510006002010020204040 Hein Test 1,00 erster test abcdefghijklmnopqrstuvwxyz 1234567890 schw„bische bank ag
B51000601700103456 Erich Test02 e.V. 555,23 testverwendungszweck 02 miete + nebenkosten / aufwandsentschaedigungen und reisekPostbank Testbank osten incl. selbstverpflegung und taxigeld - ausserdem noch studiengebhren fr monat dezember 2001
ENDE"

Habe folgendes Prgramm geschrieben, dass mir jeden Datensatz,
der mit "B5100" anfängt am Bildschirm anzeigt (und die nächsten 45 Stellen). Leider funktioniert es nicht. Vor jedem
"B51000" kommt ein Carriage Return.

Programm:
WindowStyle 12
WindowTitle " DTAUS - Belegdruck"
Window 1,1-1024,768

Declare Zeile$,Datei$,DSatz#, lof&, fpos&
declare Suchstring$, Position$, DSatz$
print "Bitte Dateinamen eingeben :";
Input Datei$
Assign #1,Datei$
OpenRW #1
lof& = GetFileSize(#1)
Dim DSatz#,lof&
Suchstring$ = "B51000"

While lt(fpos&,lof&)
BlockRead (#1,DSatz#,0,lof&)
Position$ = @instr(Suchstring$,char$(DSatz#,0,lof&))

print "Suchstring und nachfolgende 45 Stellen : " + @Left$(Position$,50)
fpos& = add (fpos&,lof&)
Wend
waitkey
CloseRW #1


Frank Abbing
Datum:05.12.01 15:23 Antwortenals Email verschicken (frankabbing@12move.de) 


Hallo Ralf,

Verwende statt der Stringfunktionen lieber Bereichsfunktionen.
Wenn es dir nichts ausmacht mit Dll's zu arbeiten, kann ich dir meine ProSpeed.dll empfehlen. Dort sind zahlreiche Bereichsfunktionen vorhanden, z.B. eine superschnelle Suchfunktion für Bereiche, Funktionen, um eine Datei mit einer Zeile zu laden und speichern, eine Verschlüsselungsfunktion usw. Insgesamt stehen dir fast 20 Bereichs-Funktionen zu Verfügung.
Und du solltest in der Profan-Hilfe dich über Bereiche schlaumachen.

Gruß, Frank


Ralf Michelberger
Datum: 05.12.01 16:53 Antwortenals Email verschicken (ralf.michelberger@gmx.net) 


Hallo Frank,

ich möchte ein Programm schreiben, das eine Text-datei ausliest bestimmte Textelemente findet
und von da ab erstens auf den Bildschirm ausgibt, zweitens auf den Drucker.
Die Textstellen fangen mit "B51000" an und enden mit einem Carriage Return.
Das Feld, das mit B51000 anfängt ist in verschiedene Bereiche (man kann auch sagen FELDER) aufgeteilt.
z.b. B51000 dann kommt Bankleitzahl (8-stellig), Kto.-Nr. (10-Stellig), Name (auch eine fest Grösse, sagen wir mal
30 Stellen), Betrag (dito. mit sagen wir 10-stellen), dann Verwendungzweck mit unterschiedlicher länge.
Diese Felder möchte ich formatiert auf den Drucker ausgeben und zwar das nach jeder B51000-Zeile
ein Blatt gedruckt wird.

Gruss
Ralf


 Zurück zur Übersicht