AGB  ·  Datenschutz  ·  Impressum  







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

Im memo ne tabelle

Ein Thema von Axxus · begonnen am 1. Nov 2006 · letzter Beitrag vom 3. Nov 2006
Antwort Antwort
Axxus

Registriert seit: 3. Okt 2006
212 Beiträge
 
Turbo Delphi für Win32
 
#1

Im memo ne tabelle

  Alt 1. Nov 2006, 19:08
Hi delphianer

ich bin an ner konsole und da will ich ne hilfe reinmachen also wenn einer help eingiebt soll ne tabelle kommen in der links der befehl und rechts die beschreibung steht
Jetzt meine frage Wie mach ich ne tabelle in nem memo???

Danke im vorraus

Axxus
  Mit Zitat antworten Zitat
fLaSh11
(Gast)

n/a Beiträge
 
#2

Re: Im memo ne tabelle

  Alt 1. Nov 2006, 19:41
Willst du wirklich ne tabelle, wie:
Code:
-------|-------
befehl1|beschreibung
befehl2|beschreibung
oder tuts auch ne einfache anordnung nach tabulator-prinzip?
Etwa:
Code:
khasklgal    klsdfblag
aksbjkasjkaa hasgjbag
asdjf        asdllasgh
ksfjas       asdgasgadha
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Im memo ne tabelle

  Alt 1. Nov 2006, 19:44
Handelt es sich jetzt um eine Konsolenanwendung oder ein Memo?
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Im memo ne tabelle

  Alt 1. Nov 2006, 20:30
Hallo Axxus,

setze die Eigenschaft WantTabs deines Memos auf True, Wrap auf False und führe folgenden Code aus:

Delphi-Quellcode:
const
  COLWIDTH = 20;
var
  TabWidth: Integer;
begin
  TabWidth := ColWidth shl 2;
  Memo.Perform(EM_SETTABSTOPS, 1, Integer(@TabWidth));
end;
Jetzt hast du einen horizontalen Tabulator in deinem Memo und kannst Text zweispaltig ausgeben:

Delphi-Quellcode:
begin
  with Memo do
  begin
    Clear;
    Lines.Add('Links'#9'Rechts kommt jetzt');
    Lines.Add(''#9'ein zweizeiliger Text');
  end;
end;
Mit einem Font fester Breite kannst du sogar Semigraphik-Zeichen einsetzen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Axxus

Registriert seit: 3. Okt 2006
212 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Im memo ne tabelle

  Alt 1. Nov 2006, 21:51
ok luete es handelt sich um eine konsole die ich mir aus einem form einem memo einem edit und einem butto zusammengebastelt hab
es is beides ok tabstopp und tabelle tabstopp reicht zwar es is aber gut beides zu wissen
ich probier morgen aus heut hab ich keine zeit mehr und sag euch dann bescheid

Falls ihr noch irgentwelche tipps hab für so ne konsole algemien oder wie man so was besser machen kann als mit nem memo...
dann sagt bescheid Kritik ist zur verbesserung notwendig

Danke

Axxus
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Im memo ne tabelle

  Alt 1. Nov 2006, 21:53
Unter Konsole verstand ich (und sicherlich aucha ndere) eine Konsolenanwendung.
Markus Kinzler
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#7

Re: Im memo ne tabelle

  Alt 1. Nov 2006, 21:58
Zitat von Axxus:
Falls ihr noch irgentwelche tipps hab für so ne konsole algemien oder wie man so was besser machen kann als mit nem memo...
dann sagt bescheid Kritik ist zur verbesserung notwendig
Ein Memo sollte da je nach Wünschen schon ausreichen, falls nicht, gibt es noch RichEdit und SynEdit. Eine Tabelle zu erstellen sollte mit z.B. Courier New kein großes Problem sein, da die Schriftzeichen alle gleich groß sind. Einfach mal im Forum suchen.
  Mit Zitat antworten Zitat
Axxus

Registriert seit: 3. Okt 2006
212 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Im memo ne tabelle

  Alt 2. Nov 2006, 22:18
Sorry das das unklar war hatte leider immer noch keine zeit das auszuprobieren aber jetzt is es ja klar
@ marabu
wieso ist zeischen dem Text in der linken spalte und dem in der rechten ein #9
und kannst du das ma bitte erklären was da gemacht wird ich benutz ungern was was ich ent verstehe
Delphi-Quellcode:
const
  COLWIDTH = 20; {COLWIDTH is ne konstante aber wieso muss ide 20 sein und was gibt sie an}
var
  TabWidth: Integer;
begin
  TabWidth := ColWidth shl 2; {was bedeuted shl und wieso schreibst du für colwidth net gleich 20}
  Memo.Perform(EM_SETTABSTOPS, 1, Integer(@TabWidth)); {was genau wird hier gemacht}
end;
Sorry das sind denk ich noobfragen aber ich versteh manches net und ich will es ja verstehen damit ich es anwenden kann sonst bringt es mir ja für später nichts

Axxus
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: Im memo ne tabelle

  Alt 3. Nov 2006, 09:57
Hallo Axxus,

fangen wir hinten an: Windows basiert auf Nachrichten und ein multiline edit control (TMemo ist eine Delphi-Kapselung dafür) versteht unter anderem die Nachricht EM_SETTABSTOPS.

Die Methode Perform() übergibt die Nachricht und wartet solange, bis sie verarbeitet wurde. Ich setze der Einfachheit halber eine einheitliche Tabulatorweite, da ja eh nur zwei Spalten benötigt werden - deshalb die 1 im Aufruf von Perform().

Als letzter Parameter muss die Adresse einer Tabelle mit den Tab-Positionen übergeben werden. Mir genügt ja ein einzelnes DWORD (TabWidth, hätte ich auch als DWORD oder Cardinal deklarieren können, aber da ich nie in die Nähe des Vorzeichenbits kommen werde ...). Da die Einheit für die Tab-Positionen sogenannte dialog template units sind und diese mit vier multipliziert die mittlere Zeichenbreite des aktuellen Font ergeben, bedeutet 20 * 4 dass ich etwa 20 Zeichen für die erste Spalte ansetze. SHL 2 ist dasselbe wie "mal 2 hoch 2" also "mal 4".

Und dass ich ColWidth als Konstante definiert habe ist eine Angewohnheit von mir. Sie erlaubt mir die Trennung von Steuerung und Ausführung und erleichtert damit die Wiederverwendung meines Codes an vielen Stellen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Im memo ne tabelle

  Alt 3. Nov 2006, 10:33
Zitat von Axxus:
ok luete es handelt sich um eine konsole die ich mir aus einem form einem memo einem edit und einem butto zusammengebastelt hab
es is beides ok tabstopp und tabelle tabstopp reicht zwar es is aber gut beides zu wissen
ich probier morgen aus heut hab ich keine zeit mehr und sag euch dann bescheid

Falls ihr noch irgentwelche tipps hab für so ne konsole algemien oder wie man so was besser machen kann als mit nem memo...
dann sagt bescheid Kritik ist zur verbesserung notwendig
Deine Punkt- und Komma-Tasten sind kaputt. Etwas mehr Sorgfalt beim Erstellen eines Postings wäre wünschenswert. Schließlich erwartest du ja auch, dass man sich mit einer Antwort Mühe gibt und sie in verständlicher Form hier präsentiert.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:49 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