AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Textdatei in Record Muster überführen

Ein Thema von mabstudent · begonnen am 12. Jan 2013 · letzter Beitrag vom 21. Jan 2013
 
mabstudent

Registriert seit: 13. Nov 2010
23 Beiträge
 
#11

AW: Textdatei in Record Muster überführen

  Alt 13. Jan 2013, 10:31
Danke für eure Hilfe, ich glaube ich bin jetzt sehr nah dran. Ich kann die Anwendung zumindest fehlerfrei starten. Betätige ich allerdings den Button1 erhalte ich folgende Fehlermeldung:

Projekt project1 hat Exception-Klasse >RunError(100)< ausgelöst.
In Zeile 76, dies wäre hier:

Code:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type
  Tsprueche=record
    spruch:string[200];
    autor:string[50];
  end;

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;
  datei: file of Tsprueche;


implementation

{$R *.lfm}

{ TForm1 }

procedure txttodb(uebergabe:string);
var s:Tsprueche;  //variable für datei:file of Tsprueche
    spruch:string; //das was vorm ; steht
    autor:string;    //das was nach ; steht
    posi:integer; //position im string
    f:textfile;    //var für den textfile quelle.txt
    datei:file of Tsprueche; //var für den data base file ziel.db
begin
assignfile(f,'quelle.txt');  //Eingabe öffnen
reset(f);
assignfile(datei,'ziel.db');    //Ausgabe öffnen
rewrite(datei);
posi:=0;
while not eof(f) do
  begin
  readln(f,uebergabe);   //liest in f und schreibt in den string uebergabe
  posi:=pos(';',uebergabe); //Position von ; in uebergabe
  s.spruch:=copy(uebergabe,1,posi-1);    //das vorm ;
  s.autor:=copy(uebergabe, posi+ 1, MAXINT);   //nach ;
  write(datei,s);
  end;
closefile(f);
closefile(datei);
end;

procedure readRandomDataset(fileName: TFilename; var dataSet: TSprueche);
var
  datei : file of TSprueche;
  idx : longInt;
begin
  assignFile(datei,'ziel.db');
  if FileExists('ziel.db')
  then ReSet(datei)
  else ReWrite(datei);
  idx := random(sizeOf(datei));
  seek(datei,idx);
  read(datei,dataSet);
 [COLOR="Red"] closefile(datei); [/COLOR] *//Zeile 76: hier hab ich den RunError
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  dataSet : TSprueche;
  spruch, autor:string;
begin
  readRandomDataSet('ziel.db',dataSet);
  spruch:= dataSet.spruch;
  autor:= dataSet.autor;
  memo1.Lines.Add(spruch+'von'+autor);
end;
end.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz