AGB  ·  Datenschutz  ·  Impressum  







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

Text in Stringgrid sortieren

Ein Thema von Spike2k3 · begonnen am 24. Mai 2004 · letzter Beitrag vom 21. Jun 2004
Antwort Antwort
Seite 1 von 2  1 2      
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#1

Text in Stringgrid sortieren

  Alt 24. Mai 2004, 19:18
hi,
ich möchte aus einem Memo oder textdatei (was einfacher is) ein paar sachen auslesen, hab aber leider nich wirklich ahnung wie
ich das machen kann. Also:

Der Text:
NEMO
Hidiho
GLUBSCHI
hi digga
wie gehts?
/////////

So, nun möchte ich das gern in ein Stringgrid packen, die Grossbeschriebenen Namen in Spalte 1, die kleinen in Spalte 2
und ausm ///// eine rote Spalte...ich weiss, is nich einfach
also ersma muss vorallem das mit den Namen klappen...
HAbt ihr ne Idee wie ich die so einlesen kann, dass sie immer auf die richtige Seite fallen?

*help* *schnief*
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#2

Re: Text in Stringgrid sortieren

  Alt 24. Mai 2004, 19:56
Hier ist mal ein Beispiel. Du brauchst ein TMemo, TButton und ein TStringGrid. Dann fügst du folgende Prozedur in dein Projekt ein:

Delphi-Quellcode:
procedure WriteToStringGrid(Lines: TStrings; SG: TStringGrid);
var
  i, c: Integer;
  s: String;
begin
  c := 0;
  for i := 0 to Lines.Count-1 do
  begin
    SG.RowCount := SG.RowCount+1;
    s := Lines[i];
    if s[1] = '/then
    begin
      //rote Spalte
    end else begin
      if s[1] = AnsiUpperCase(s[1]) then //großgeschrieben
      begin
        SG.Cells[0, c] := s;
        Inc(c);
      end else //kleingeschrieben
        SG.Cells[1, i-c] := s;
     end;
  end;
end;
Und im OnClick-Ereignis des Buttons führst du folgenden Code aus:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  with StringGrid1 do
  begin
    ColCount := 2; //zwei Spalten
    RowCount := 0; //null Zeilen
  end;
  WriteToStringGrid(Memo1.Lines, StringGrid1);
end;
Nur das mit der roten Spalte habe ich nicht verstanden. Wo soll die denn hin?

MfG Pr0g
  Mit Zitat antworten Zitat
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Text in Stringgrid sortieren

  Alt 24. Mai 2004, 21:07
funzt leider nich wirklich
Nemo sagt immer Hi digga...
die zweite zeile is leer und in der dritten steht nur Glubschi
in der vierten Zeile wieder nix und in der fünften
links hidiho und rechts wie gehts...
irgendwas scheint da nich zu klappen
achja, die rote zeile ist überflüssig, wie mir gerade aufgefallen ist...
Viel besser wäre es wenn einfach links das //// stehen bleibt...
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#4

Re: Text in Stringgrid sortieren

  Alt 24. Mai 2004, 21:23
Hm, dass es nicht geht wundert micht. Wenn ich genau die Codes aus meinem ersten und den Text aus deinem ersten Post nehme, dann klappt es bei mir (siehe angehängtem Screenshot). Ich habe die Prozedur ein bisschen verändert, damit auch die "//////" eingetragen werden:

Delphi-Quellcode:
procedure WriteToStringGrid(Lines: TStrings; SG: TStringGrid);
var
  i, c: Integer;
  s: String;
begin
  c := 0;
  for i := 0 to Lines.Count-1 do
  begin
    SG.RowCount := SG.RowCount+1;
    s := Lines[i];
    if (s[1] = AnsiUpperCase(s[1])) or (s[1] = '/') then //großgeschrieben
    begin
      SG.Cells[0, c] := s;
      Inc(c);
    end else //kleingeschrieben
      SG.Cells[1, i-c] := s;
  end;
end;
Miniaturansicht angehängter Grafiken
unbenannt-1.gif  
  Mit Zitat antworten Zitat
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Text in Stringgrid sortieren

  Alt 24. Mai 2004, 21:30
hm...komisch..achja, Hidiho is auch ein Ausspruch
und kein NAme
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#6

Re: Text in Stringgrid sortieren

  Alt 25. Mai 2004, 12:36
Achso, ich dachte dass jedes Wort, welches mit einem Großbuchstaben beginnt, ein Name ist, also in die erste Spalte soll. Um alle Wörter, die komplett großgeschrieben sind in die erste Spalte zu packen muss du nur die folgende Zeile:

    if (s[1] = AnsiUpperCase(s[1])) or (s[1] = '/') then //großgeschrieben durch diese ersetzen:

    if (s = AnsiUpperCase(s)) or (s[1] = '/') then //großgeschrieben
  Mit Zitat antworten Zitat
eroe

Registriert seit: 15. Mai 2004
Ort: Brandenburg
31 Beiträge
 
#7

Re: Text in Stringgrid sortieren

  Alt 25. Mai 2004, 13:23
Delphi-Quellcode:

(s[1] = '/')
Behandelt diese Zeile nur den letzten Eintrag ('//////') oder ist der noch für was anderes gut ?
"Der ganze Rummel um die Emanzipation hat nichts daran geändert, dass Frauen sich hübsch machen um Männern zu gefallen"
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#8

Re: Text in Stringgrid sortieren

  Alt 25. Mai 2004, 13:52
Ja, wenn der Text mit "/" beginnt, dann wird er in die erste Spalte geschrieben, genauso wie gorßgeschriebene Wörter (vorherige Bedingung in der gleichen If Abfrage).
  Mit Zitat antworten Zitat
Spike2k3

Registriert seit: 20. Aug 2003
73 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Text in Stringgrid sortieren

  Alt 4. Jun 2004, 15:06
Danke, nu funzt das mit dem Einordnen
Mein einziges PRoblem ist noch das:
Zitat:
MARLIN
Huh?
Was?
Ok...
Gibt es nen weg die drei ausagen in ein Feld zu packen???

Also
links: MARLIN (klappt ja schon *G)*
rechts: Huh? Was? Ok...

*Hoff, dass das geht*
  Mit Zitat antworten Zitat
Benutzerbild von Pr0g
Pr0g

Registriert seit: 21. Mai 2004
809 Beiträge
 
Delphi 7 Personal
 
#10

Re: Text in Stringgrid sortieren

  Alt 4. Jun 2004, 23:36
Das würde gehen, jedoch müsste man dazu ein Schema kennen. Gehört der Text hinter einen Namen, bis zum nächsten Namen immer zu dem "Startnamen"? Beispiel:

Code:
NAME 1
text von 1
...
NAME 2
text von 2
...
Wo soll der Text hin? Einfach hintereinander in die rechte Spalte?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:29 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