| Autor |
Beitrag |
Phanuel
      
Beiträge: 36
Win XP Pro, Mandrake linux 10.0
|
Verfasst: Mi 14.04.04 13:54
gibt es eine mögllichkeit eine bestimme Zeile in einem Memo Feld in eine Edit komponente zu übertragen?
Also das zb die dritte Zeile der Memokomponente in edit1 wiedergegeben wird.
Kann ich auch in der Memo komponente am Anfang einer Zeile immer ein 1. bzw 2. usw setzen?
Delphi-Quelltext 1: 2: 3: 4:
| for i:= 1 to 10 do begin memo1.Lines.Add(inttostr(i));
memo1.Lines.add(inttostr(random(50)+50)+'_'+inttostr((random(100)+100))+'_'+ inttostr((random(150)+150))+'_'+inttostr((random(200)+200))+'_'+ inttostr((random(250)+250))); |
Er soll hier keine neue Zeile anfangen, sondern in der Zeile die bei memo1.Lines.Add(inttostr(i)); angefangen wurde einfach weitermachen.
und wie kriege ich es hin das er hierbei memo1.Lines.Add(inttostr(i)); ein i. macht? auf den punkt kommt es mir an!
Vielen Danke
Moderiert von Peter Lustig: Delphi-Tags hinzugefügt
|
|
raziel
      
Beiträge: 2453
Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
|
Verfasst: Mi 14.04.04 14:10
zugriff auf einzelne zeilen in einem memo ist mit "Strings" möglich:
Delphi-Quelltext 1:
| Edit1.Text := Memo1.Lines.Strings[0]; |
dabei ist auch schreiben möglich:
Delphi-Quelltext 1:
| Memo1.Lines.Strings[0] := '1. ' + Memo1.Lines.Strings[0]; |
[edit]
das ganze ist - wie ich grad in der OH seh - auch ohne angabe von Strings möglich:
Edit1.Text := Memo1.Lines[0][/edit]
raziel
_________________ JSXGraph
|
|
Phanuel 
      
Beiträge: 36
Win XP Pro, Mandrake linux 10.0
|
Verfasst: Mi 14.04.04 14:16
Vielen dank, das hast mit schon sehr geholfen.
Noch ne Frage ich hab jetzt nen String wie zb:
10.66_108_276_264_380
das steht innem edit fenster.
Jetzt will ich das er die 10. wegmacht und die _ auch, und das er die zahlen dann summiert.
Wie mach ich das?
|
|
raziel
      
Beiträge: 2453
Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
|
Verfasst: Mi 14.04.04 14:36
die zehn kriegste damit weg:
Delphi-Quelltext 1: 2:
| if pos('.', Str) > 0 then Delete(str, 1, pos('.', Str)); |
den rest zerlegste mit nem stringlist:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var sl: TStringList; i, summe: Integer;
sl := TStringList.Create; sl.Delimiter := '_'; sl.DelimiterText := str; summe := 0; for i := 0 to sl.Count-1 do summe := summe + StrToIntDef(sl[i], 0); sl.Free; |
habs jetz nich getestet, müsste aber funktionieren.
[edit]Free vergessen...  [/edit]
raziel
_________________ JSXGraph
|
|
Phanuel 
      
Beiträge: 36
Win XP Pro, Mandrake linux 10.0
|
Verfasst: Mi 14.04.04 14:46
Label1.Caption := edit1.text;
Könntest du mir noch bitte sagen wie ich das jetzt hier zb einbaue?
also edit1.text is 1.91_100_193_265_433
und label1.caption soll dann also 91 100 193 265 433
und später dann 1082 sein.
Aber wie?
|
|
raziel
      
Beiträge: 2453
Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
|
Verfasst: Mi 14.04.04 15:10
Delphi-Quelltext 1: 2:
| if pos('.', Str) > 0 then Delete(str, 1, pos('.', Str)); |
macht aus "X.312_311_231_44_12" -> "312_311_231_44_12"
dabei kannst für "Str" alles an Strings einsetzen was de willst "Edit1.Text" oder "Label1.Caption" z.B.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| var sl: TStringList; i, summe: Integer;
sl := TStringList.Create; sl.Delimiter := '_'; sl.DelimiterText := str; sl.Free; |
zerlegt "312_311_231_44_12" in:
Quelltext
dabei kannst du wieder für Str jeden beliebigen String einsetzen!
Delphi-Quelltext 1: 2: 3:
| summe := 0; for i := 0 to sl.Count-1 do summe := summe + StrToIntDef(sl[i], 0); |
zählt nun die werte in der stringlist "sl" zusammen. das ergebnis kannst du mit
Delphi-Quelltext 1:
| label1.caption := inttostr(summe); |
über das label label1 ausgeben.
raziel
_________________ JSXGraph
|
|
Phanuel 
      
Beiträge: 36
Win XP Pro, Mandrake linux 10.0
|
Verfasst: Mi 14.04.04 15:22
ich blick da voll nicht durch tut mir leid.
Könntest du dir das evtl mal angucken?:
home.arcor.de/phanuel/zufall.exe
und dann einfach ergänzen und mir zurückschicken.
Hab vielen dank.
|
|
raziel
      
Beiträge: 2453
Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
|
Verfasst: Mi 14.04.04 16:20
sorry, gegen exe-dateien bin ich äußerst allergisch, v.a. wenn ich nich weiß von wem die sind.
wo liegt denn das problem genau?
_________________ JSXGraph
|
|
Phanuel 
      
Beiträge: 36
Win XP Pro, Mandrake linux 10.0
|
Verfasst: Mi 14.04.04 17:15
|
|
raziel
      
Beiträge: 2453
Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
|
Verfasst: Mi 14.04.04 18:21
sorry, nein!
dieses forum ist nicht dazu da, dass man sein problem fertig gelöst und implementiert auf einem silbertablett serviert bekommt, sondern um denkanstöße und tips zu bekommen, wie man sein problem selbst löst.
beschreib dein problem ein bisschen genauer! was genau verstehst am obigen source code nicht?
raziel
_________________ JSXGraph
|
|
Phanuel 
      
Beiträge: 36
Win XP Pro, Mandrake linux 10.0
|
Verfasst: Mi 14.04.04 20:05
Ich weiss einfach nicht wie ich das einbinden soll.
tut mir leid, so die grosse ahnung von delphi habe ich auch nicht.
bin eher ein jüngling mit meinen 17 jahren, ich kenne diese befehle nicht, und weiss nicht wie ich sie in den quelltext implentieren soll.
So das aus meinem wert im edit feld, der entsprechende wert im label feld ausgegeben wird.
|
|
raziel
      
Beiträge: 2453
Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
|
Verfasst: Do 15.04.04 12:40
ok, also du kannst verschiedene werte den einzelnen eigenschaften von objekten oder variablen zuweisen:
Delphi-Quelltext 1: 2: 3: 4:
| var str: String; begin str := Edit1.Text; end; |
nun kannst du die variable "Str" bearbeiten (s.o.) und anschließend der Eigenschaft "Caption" von "Label1" zuweisen:
Delphi-Quelltext
Einbinden kannste das ganze z.B. so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm1.Button1Click(Sender: TObject); var Str: String; sl: TStringLisT; i, Summe: Integer; begin sl := TStringList.Create; Str := Edit1.Text; if pos('.', Str) > 0 then Delete(str, 1, pos('.', Str)); sl.Delimiter := '_'; sl.DelimiterText := str; summe := 0; for i := 0 to sl.Count-1 do summe := summe + StrToIntDef(sl[i], 0); Label1.Caption := IntToStr(summe); sl.Free; end; |
jetz besser?
raziel
_________________ JSXGraph
|
|
Phanuel 
      
Beiträge: 36
Win XP Pro, Mandrake linux 10.0
|
Verfasst: Do 15.04.04 13:24
Vielen dank
das hat mir sehr geholfen
|
|