Witam
Piszę program z GUI pod Borlandem C++ 6.0 i na podstawie algorytmu tworzę sobie histogram i wyświetlam w osobnej formie. Chciałbym jednak obliczenia zapisać do pliku tekstowego.
Histogram tworzę wg takiego algorytmu:
[/code]
int x, y, tmp_x, i;
BYTE* LinePtr;
int kolory[256];
if (Form2 -> Image1 -> Picture -> Bitmap -> PixelFormat == pf24bit)
{
i = 3;
}
else
{
i = 1;
}
// obliczanie histogramu
for (x = 0; x < 256; x++)
kolory[x] = 0;
for (y = 0; y < Form2 -> Image1 -> Picture -> Bitmap -> Height; y++)
{
LinePtr = (BYTE*) Form2 -> Image1 -> Picture -> Bitmap -> ScanLine[y];
for (x = 0; x < i * Form2 -> Image1 -> Picture -> Bitmap -> Width; x = x + i)
{
if (Form2 -> Image1 -> Picture -> Bitmap -> PixelFormat == pf24bit)
{
tmp_x = (LinePtr[x] + LinePtr[x] + LinePtr[x]) / 3;
}
else
{
tmp_x = LinePtr[x];
}
kolory[tmp_x]++;
}
}
int srednia = (Form2 -> Image1 -> Width * Form2 -> Image1 -> Height) >> 8;
// rysowanie histogramu
Form3 -> Image2 -> Canvas -> Pen -> Style = psSolid;
Form3 -> Image2 -> Canvas -> Pen -> Color = clBlack;
Form3 -> Image2 -> Picture -> Bitmap -> PixelFormat = Form2 -> Image1 -> Picture -> Bitmap -> PixelFormat;
for (x = 0; x < 256; x++)
{
Form3 -> Image2 -> Canvas -> MoveTo(x, Form3 -> Image2 ->Height);
Form3 -> Image2 -> Canvas -> Pen -> Color = (TColor) x << 16 | x << 8 | x;
Form3 -> Image2 -> Canvas -> LineTo(x, Form3 -> Image2 -> Height - 10);
Form3 -> Image2 -> Canvas -> Pen -> Color = clBlack;
Form3 -> Image2 -> Canvas -> LineTo(x, Form3 -> Image2 -> Height - 10 - ((100 * kolory[x]) / (srednia * 5)));
}
Form3 -> Image2 -> Canvas -> Pen -> Color = clWhite;
Form3 -> Image2 -> Canvas -> MoveTo(0, Form3 -> Image2 -> Height - 10);
Form3 -> Image2 -> Canvas -> LineTo(256, Form3 -> Image2 -> Height - 10);
Form3->Show();
[/code]
Taki algorytm znalazłem w sieci. W jaki sposób zapisać to do pliku z wykorzystaniem kontrolki "SaveDialog", ewentualnie jak wynik obliczeń histogramu zapisać do kontrolki "Memo", skąd bym już zapisać do pliku tekstowego ?