AGB  ·  Datenschutz  ·  Impressum  







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

200+ Texte in ein memo laden

Ein Thema von Spectre · begonnen am 16. Feb 2013 · letzter Beitrag vom 27. Feb 2013
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#11

AW: 200+ Texte in ein memo laden

  Alt 17. Feb 2013, 15:33
2x verwendet:

Delphi-Quellcode:
  private
    MyCountryDescriptions : TStringList;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
    MyCountryDescriptions : TStringList;

Dadurch dass du die Stringlist ja die ganze Zeit über in Benutzung hast, wie das Programm läuft, ist es vllt besser für dich musst du die Stringlist im Form.OnCreate erzeugen und erst im Form.Close wieder freigeben, da Sie sonst in der Procedure nicht initzialisiert ist.


Edit2:

Enferne die Version aus dem Privat Abschnitt, da sonnst die Procedure:
Procedure CopyCountryDescription(Const Country : String; Description : TStrings); Kein Zugriff auf die Variable hat.
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)

Geändert von lbccaleb (17. Feb 2013 um 15:47 Uhr)
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#12

AW: 200+ Texte in ein memo laden

  Alt 17. Feb 2013, 15:34
Hallo,

überleg Dir doch mal welche Eigenschaft Du in Button1Click initialisierst und auf welche Variable Du in CopyCountryDescription zugreifst, dann sollte Dir schnell klar werden warum es beim Zugriff auf MyCountryDescriptions.IndexOf('@@'+Country) scheppert.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

AW: 200+ Texte in ein memo laden

  Alt 17. Feb 2013, 17:24
Hat schon mal jemand Delphi-Referenz durchsuchenTClientDataSet in den Raum geworfen?

Für die Erstellung/Bearbeitung müsste man ein lüttes Progrämmle zusätzlich schreiben, der Aufwand hält sich in Grenzen und die Suche nach den Ländernamen sollte dank Index und InMemory auch sehr flott vonstatten gehen.

Im MyBase-Format gespeichert sollte es auch halbwegs "unleserlich" sein

BTW: Hier ein Tutorial
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (17. Feb 2013 um 17:28 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#14

AW: 200+ Texte in ein memo laden

  Alt 17. Feb 2013, 17:30
Hat schon mal jemand Delphi-Referenz durchsuchenTClientDataSet in den Raum geworfen?
Nein, aber das ist wirklich eine einfache Möglichkeit.
  Mit Zitat antworten Zitat
Spectre

Registriert seit: 29. Jan 2013
Ort: Hamburg
65 Beiträge
 
Delphi XE2 Architect
 
#15

AW: 200+ Texte in ein memo laden

  Alt 18. Feb 2013, 21:29
danke rufo für den link!
ich habs geschafft in ne binäre .cds datei daten zu speichern und zu laden, da sind sie vor manipulationsversuchen (zumindest für die meisten) ein bischen sicherer. aber wie kriege ich die daten aus dem DBGrid ins memo?? erst für jedes land ne zeile im grind definieren und dann aus der zeile (bzw der id) lesen und ins memo übertragen?

lg robin
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#16

AW: 200+ Texte in ein memo laden

  Alt 18. Feb 2013, 22:00
Das DBGrid braucht man nur zur Anzeige. Die Daten selber befinden sich im DataSet. Also auch nur das DataSet fragen.

Delphi-Referenz durchsuchenTDataSet.Locate und Delphi-Referenz durchsuchenTDataSet.FieldByName sind dein Freund
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Spectre

Registriert seit: 29. Jan 2013
Ort: Hamburg
65 Beiträge
 
Delphi XE2 Architect
 
#17

AW: 200+ Texte in ein memo laden

  Alt 18. Feb 2013, 22:03
ich probiers morgen mal aus, danke!
  Mit Zitat antworten Zitat
Spectre

Registriert seit: 29. Jan 2013
Ort: Hamburg
65 Beiträge
 
Delphi XE2 Architect
 
#18

AW: 200+ Texte in ein memo laden

  Alt 18. Feb 2013, 22:19
hmm...wie initialisiere ich das?

Code:
memo1.Text := clientdataset1.FieldByName('C:\MEINPFAD\test2.cds')
funktioniert natürlich wenig hilfreich xD
sorry ich bin ein absoluter anfänger was solche binären daten angeht...hast du nen beispielcode wie ich auf spezielle IDs zugreife mit dem memo hab das tutorial soweit durchgearbeitet und ein memo1 der form hinzugefügt, aber wie greife ich auf die IDs zu?

Geändert von Spectre (18. Feb 2013 um 22:22 Uhr)
  Mit Zitat antworten Zitat
Spectre

Registriert seit: 29. Jan 2013
Ort: Hamburg
65 Beiträge
 
Delphi XE2 Architect
 
#19

AW: 200+ Texte in ein memo laden

  Alt 27. Feb 2013, 11:44
könnt ihr hier bitte nochmal einen blick draufwerfen? hab nur nen button und ein memo im programm.
ich habe die stringlist deklariert, create ist auch drin, aber es passiert auf knopfdruck....einfach mal gar nichts. die fehlermeldung zumindest ist weg..was mache ich falsch?
land.txt mitsamt @@deutschland und text existiert natürlich.

Code:
var
  Form1: TForm1;
   MyCountryDescriptions : TStringList;


implementation

{$R *.dfm}

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FreeAndNil(MyCountryDescriptions);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
MyCountryDescriptions := TStringList.Create;
end;

Procedure CopyCountryDescription(Const Country : String; Description : TStrings);
Var
  i : Integer;

Begin

  Description.Clear;
  i:= MyCountryDescriptions.IndexOf('@@'+Country);
  if i=-1 then exit; // Keine Beschreibung gefunden
  inc(i);
  Description.BeginUpdate;
  Try
    while (i<MyCountryDescriptions.Count) do
      if Copy(MyCountryDescriptions[i],1,2) <> '@@' then
        break
      else begin
        Description.Add(MyCountryDescriptions[i]);
        inc(i);
      end
  finally
    Description.EndUpdate;
  end
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
MyCountryDescriptions.LoadFromFile('C:\Games\land.TXT');   //der pfad ist hier richtig plaziert?
CopyCountryDescription('deutschland',Memo1.Lines);
end;

end.
danke!
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#20

AW: 200+ Texte in ein memo laden

  Alt 27. Feb 2013, 11:52
Du hast einen Flüchtigkeitsfehler drin

 if Copy(MyCountryDescriptions[i],1,2) = '@@then // statt <>
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 08:28 Uhr.
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