Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Einlesen aus Memo in Editfelder. [Bibliotheksverwaltung] (https://www.delphipraxis.net/123071-einlesen-aus-memo-editfelder-%5Bbibliotheksverwaltung%5D.html)

Teekeks 27. Okt 2008 08:06


Einlesen aus Memo in Editfelder. [Bibliotheksverwaltung]
 
Hi!
Ich arbeite an einer Bibliotheksverwaltung für meine Schule und dabei ist mir eine Frage in den Weg gekommen:
Es soll so eine Art Import von der Seite http://d-nb.de wo solche Sachen wie Titel und Autor des Buches in mein Prog übertragen werden soll.
Ich bekomme sowas in der Art von der Seite:
Zitat:

Link zu dieser Seite: http://d-nb.info/990813231
Titel: Von PHP bis my SQL : Dynamische Webseiten und Datenbanken - Kompakt und verständlich erklärt von Anfang an / Marco Franzbonenkamp
Verfasser: Franzbonenkamp, Marco
Ausgabe: 1. Aufl.
Verleger: Herzogenrath : Shaker Media
Erscheinungsjahr: 2008
Umfang/Format: 160 S. ; 210 mm x 148 mm
ISBN: 978-3-86858-118-8
Einband/Preis: Pb. : sfr 33.80 (freier Pr.), EUR 16.90, EUR 16.90 (AT)
Sachgruppe: 004 Informatik
Erscheinungstermin: Oktober 2008
Das soll dann in ein Memo kopiert werden (von Hand) und dann auf einen Buttonklick in Editfelder übertragen werden.
Mein Problem ist folgendes: Wie kann ich jetzt Programmgesteuert zu z.B. "ISBN: " springen und alles nachfolgende dort eintragen?

schon mahl danke für die Antworten.
Teekeks

p.s. achso eins noch: Ich Programmiere mit Lazarus und Linux

toyoman 27. Okt 2008 09:41

Re: Einlesen aus Memo in Editfelder. [Bibliotheksverwaltung]
 
Zitat:

Zitat von Teekeks
Hi!
Ich arbeite an einer Bibliotheksverwaltung für meine Schule und dabei sind mir eine Frage in den weg gekommen:
Es soll so eine art Import von der seite http://d-nb.de wo sone sachen wie Titel und Autor des Buches in mein Prog übertragen werden soll.
ich bekomme sowas in der art von der Seite:
Zitat:

Link zu dieser Seite: http://d-nb.info/990813231
Titel: Von PHP bis my SQL : Dynamische Webseiten und Datenbanken - Kompakt und verständlich erklärt von Anfang an / Marco Franzbonenkamp
Verfasser: Franzbonenkamp, Marco
Ausgabe: 1. Aufl.
Verleger: Herzogenrath : Shaker Media
Erscheinungsjahr: 2008
Umfang/Format: 160 S. ; 210 mm x 148 mm
ISBN: 978-3-86858-118-8
Einband/Preis: Pb. : sfr 33.80 (freier Pr.), EUR 16.90, EUR 16.90 (AT)
Sachgruppe: 004 Informatik
Erscheinungstermin: Oktober 2008
Das soll dan in ein Memo kopiert werden (von Hand) und dann auf einen Buttonklick in Editfelder übertragen werden.
Mein Problem ist folgendes: Wie kann ich jetzt Programmgesteuert zu z.B. "ISBN: " springen und alles nachfolgende dort eintragen?

schon mahl danke für die Antworten.
Teekeks

p.s. achso eins noch: Ich Programmiere mit Lazarus

hi, du könntest z.b. Pos verwenden um nach ISBN zu suchen. Dann kannst du mit den Copy-Befehl den Wert nach ISBN auslesen und in dein Edit Feld kopieren. Problem dabei ist natürlich immer: Das ganze muss immer in der gleichen Form daher kommen. Also nicht dass das plötzlich ISBN irgendwas: Nummer heisst. Weil du bist ja auf die korrekte Position der Strings angewiesen.

Delphi syntax:

function Pos(Substr: string; S: string): Integer;

Description

In Delphi, Pos searches for a substring, Substr, in a string, S. Substr and S are string-type expressions.

Pos searches for Substr within S and returns an integer value that is the index of the first character of Substr within S. Pos is case-sensitive. If Substr is not found, Pos returns zero.

The PosEx function is similar to Pos, but provides additional features and can be used in C++ code.

Teekeks 27. Okt 2008 11:40

Re: Einlesen aus Memo in Editfelder. [Bibliotheksverwaltung]
 
Erstmahl danke für deine schnelle antwort.
Aber: wie liest man einen wert danach aus?
gruß
Teekeks

soulies 27. Okt 2008 12:05

Re: Einlesen aus Memo in Editfelder. [Bibliotheksverwaltung]
 
hoi,

den wert kannst du über die zeilennummer auslesen

bsp:
Delphi-Quellcode:
var
   i : Integer ;
begin
   for i:=0 to Memo1.Lines.Count-1 do
   begin
     if (Pos('ISBN',Memo1.Lines.Strings[i])>0) then
        Edit.Text := StringReplace(Memo1.Lines.Strings[i],'ISBN: ', EmptyStr,[rfReplaceAll]) ;
   end;
end;
cya

DeddyH 27. Okt 2008 12:13

Re: Einlesen aus Memo in Editfelder. [Bibliotheksverwaltung]
 
Und wenn das Suchwort nur am Stringanfang vorkommen darf, schaust Du, ob Pos 1 zurückgibt oder verwendest die Funktionen AnsiStartsStr oder AnsiStartsText aus der Unit StrUtils.

Teekeks 27. Okt 2008 12:30

Re: Einlesen aus Memo in Editfelder. [Bibliotheksverwaltung]
 
und nochmahls danke!
Ich versuch jetz mahl daraus schlau zu werden, aber ich glaub ich habs fast ^^

ich probiere mahl...

gruß Teekeks

Teekeks 27. Okt 2008 12:45

Re: Einlesen aus Memo in Editfelder. [Bibliotheksverwaltung]
 
was ich noch nicht versteh ist:
wen ich das hier als code hab:
Delphi-Quellcode:
 //Daten einlesen
 //ISBN einlesen...
     for xx:=0 to M_Import.Lines.Count-1 do
     begin
       if (Pos('ISBN',M_Import.Lines.Strings[xx])>0) then
        E_ISBN.Text := StringReplace(M_Import.Lines.Strings[xx],'ISBN: ', EmptyStr,[rfReplaceAll]) ;   //mal gucken was das macht...(von DB!)
     end;                                                                                              //funkt!!! supper!
 //ISBN ist da!
 //Titel einlesen...
     for xx:=0 to M_Import.Lines.Count-1 do
     begin
       if (Pos('Titel',M_Import.Lines.Strings[xx])>0) then
        E_Titel.Text := StringReplace(M_Import.Lines.Strings[xx],'Titel: ', EmptyStr,[rfReplaceAll]) ; //das hier wird eingetragen alles andere nich :-(
     end;
 //Titel ist auch da!
 //Verfasser...
     for xx:=0 to M_Import.Lines.Count-1 do
     begin
       if (Pos('Verfasser',M_Import.Lines.Strings[xx])>0) then
        E_Verfasser.Text := StringReplace(M_Import.Lines.Strings[xx],'Verfasser: ', EmptyStr,[rfReplaceAll]) ;
     end;

 //Verfasser auch vorhanden.
Danm wird nur der Titel eingelesen... WARUM??

Klaus01 27. Okt 2008 13:00

Re: Einlesen aus Memo in Editfelder. [Bibliotheksverwaltung]
 
Wie schaut es denn aus wenn Du alles in einer Schleife abfragst?

Delphi-Quellcode:
//Daten einlesen
//ISBN einlesen...
     for xx:=0 to M_Import.Lines.Count-1 do
     begin
       if (Pos('ISBN',M_Import.Lines.Strings[xx])>0) then
         E_ISBN.Text := StringReplace(M_Import.Lines.Strings[xx],'ISBN: ', EmptyStr,[rfReplaceAll]) ;
       if (Pos('Titel',M_Import.Lines.Strings[xx])>0) then
         E_Titel.Text := StringReplace(M_Import.Lines.Strings[xx],'Titel: ', EmptyStr,[rfReplaceAll]) ;
       if (Pos('Verfasser',M_Import.Lines.Strings[xx])>0) then
         E_Verfasser.Text := StringReplace(M_Import.Lines.Strings[xx],'Verfasser: ', EmptyStr,[rfReplaceAll]) ;
     end;

//Verfasser auch vorhanden.
E_ISBN.Text ist das eine Editfeld?
Das wird bei jedem neuen Fund von ISBN überschrieben.


Grüße
Klaus

Teekeks 27. Okt 2008 13:10

Re: Einlesen aus Memo in Editfelder. [Bibliotheksverwaltung]
 
hmmm... immernoch das selbe :cry: es wird nur der titel eingetragen...
weis jemand woran das liegen mag?

soulies 27. Okt 2008 13:18

Re: Einlesen aus Memo in Editfelder. [Bibliotheksverwaltung]
 
also ich glaube nicht das das am auslesen liegt ...

Werden die TEdit's zur Laufzeit gesperrt bzw. machst du nach dem auslesen noch was mit den TEdit's ?

Vllt. zeigts du noch ein wenig mehr CODE für uns.


cya


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:26 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz