Cze!
Czy jest możliwe zrobienie w RichEdit kolumn albo tabulatorów takich jak u Word'a?
Chciałbym zapisać np. trzy kolumny liczb na jedną kartkę A4.
judge00
Cze!
Czy jest możliwe zrobienie w RichEdit kolumn albo tabulatorów takich jak u Word'a?
Chciałbym zapisać np. trzy kolumny liczb na jedną kartkę A4.
judge00
int ile_kolumn = 4;
int width_col = RichEdit1->Width/ile_kolumn;
AnsiString text="";
AnsiString cale="";
TStringList *Lista = new TStringList; //Lista stringów
Lista->Add("4p 0");
Lista->Add("4p 1");
Lista->Add("4p 2");
Lista->Add("4p 3");
Lista->Add("4p 4");
Lista->Add("4p 5");
Lista->Add("4p 6");
Lista->Add("4p 7");
Lista->Add("4p 8");
Graphics::TBitmap *Cnv = new Graphics::TBitmap;
Cnv->Canvas->Font = RichEdit1->Font;
int space_width = Cnv->Canvas->TextWidth(" ");
int width = Cnv->Canvas->TextWidth(text);
for(int i=0; i<Lista->Count; i++)
{
text = Lista->Strings[i];
int ile_spacji = (width_col - width)/space_width;
cale = cale + text + AnsiString::StringOfChar(' ', ile_spacji);
if((i+1)%ile_spacji==0)//i+1 dlatego, ze nieszczesne 0 dzieli sie przez kazda liczbe:-)
{
RichEdit1->Lines->Add(cale);
cale = "";
}
}
if(cale.Length()>0)
RichEdit1->Lines->Add(cale);
delete Lista;
delete Cnv;
PS> Trochę ten kod niezgrabny, ale to dlatego, że jestem chory i mój mózg nie ma pełnego trybu zgodności ze świadomością (=lekka desynchronizacja umysłowa:P)
Dzięki bardzo uratowałeś mi życie :-D
A co jeśli długość stringów w poszczególnych kolumnach jest różna??? W podanym przykładzie jest stała (4p 0, 4p 1 itd.)