Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2009, 16:16   #1
Streb
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 76
По умолчанию Таблица...

Всем привет! У меня возникла проблема при выводе таблицы из программы. При нажатии в моей программе кнопки запись результатов у меня должено появляться окно с предложение куда сохранить! Я сохраняю и он даже в созданный мной txt файл записывает таблицу, но я не могу сделать все ее колонки ровными! Заранее благодарен...

Модератор: аттачи для кода запрещены.

Последний раз редактировалось MaTBeu; 16.07.2009 в 17:52.
Streb вне форума Ответить с цитированием
Старый 16.07.2009, 18:28   #2
Streb
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 76
По умолчанию

Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <fstream.h>
#include <string.h>
#pragma hdrstop

#include "Unitmatmayatnik.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
StringGrid1->Cells[0][0]="t";
StringGrid1->Cells[1][0]="Q";
StringGrid1->Cells[2][0]="V";
StringGrid1->Cells[3][0]="E";
StringGrid1->Cells[4][0]="b";
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
float t0,tk,Q0,m,L,V0,dt1,dt2,Q,V,t,T,g,E,Esum,Esr,bsr,b,bsumkv,Vlin;
g=9.8;
m=StrToFloat(Edit1->Text);
L=StrToFloat(Edit2->Text);
Q0=StrToFloat(Edit3->Text);
t0=StrToFloat(Edit4->Text);
tk=StrToFloat(Edit5->Text);
V0=StrToFloat(Edit6->Text);
dt1=StrToFloat(Edit7->Text);
dt2=StrToFloat(Edit9->Text);
int n=(tk-t0)/dt1;
int f=dt1/dt2;
StringGrid1->RowCount=n+1;
StringGrid1->ColCount=5;
StringGrid1->FixedCols=0;
V=V0;
Q=Q0;
t=t0;
Esum=0;
bsumkv=0;
for (int i=0; i<=n; i++)
{
for (int k=0; k<=f; k++)
{
V=V-(g/L)*sin(Q)*dt2;
Q=Q+V*dt2;
t=t+dt2;
Vlin=L*V;
}
E=(m*Vlin*Vlin)/2+m*g*L*(1-cos(Q));
Esum=E+Esum;
Chart1->Series[0]->AddXY(t, Q);
Chart2->Series[0]->AddXY(t, V);
StringGrid1->Cells[0][i+1]=FloatToStr(t);
StringGrid1->Cells[1][i+1]=FloatToStr(Q);
StringGrid1->Cells[2][i+1]=FloatToStr(V);
StringGrid1->Cells[3][i+1]=FloatToStr(E);
}
Esr=Esum/n;
for (int i=0; i<=n; i++) {
b=fabs((Esr-(StrToFloat(StringGrid1->Cells[3][i+1])))/Esr);
bsumkv=b*b+bsumkv;
StringGrid1->Cells[4][i+1]=FloatToStr(b);
}
bsr=sqrt(bsumkv/n);
Edit11->Text=FloatToStr(Esr);
Edit12->Text=FloatToStr(bsr);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
float L,g,p,T;
p=3.14;
g=9.8;
L=StrToFloat(Edit2->Text);
T=2*p*sqrt(L/g);
Edit8->Text=FloatToStr(T);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
Form1->Close();
}
//---------------------------------------------------------------------------



void __fastcall TForm1::Button4Click(TObject *Sender)
{
Edit1->Clear();
Edit2->Clear();
Edit3->Clear();
Edit4->Clear();
Edit5->Clear();
Edit6->Clear();
Edit7->Clear();
Edit8->Clear();
Edit9->Clear();
Edit11->Clear();
Edit12->Clear();
Chart1->Series[0]->Clear();
Chart2->Series[0]->Clear();
StringGrid1->RowCount=1;
StringGrid1->ColCount=5;
StringGrid1->FixedCols=0;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)
{
struct person{
char m1[20];
char L1[20];
char Q01[20];
char V01[20];
char t01[20];
char tk1[20];
char dt11[20];
char dt21[20];
};
FILE *f;
if (SaveDialog1->Execute()){
f = fopen(SaveDialog1->FileName.c_str(), "wb");
person dannie;
strcpy(dannie.m1,Edit1->Text.c_str());
strcpy(dannie.L1,Edit2->Text.c_str());
strcpy(dannie.Q01,Edit3->Text.c_str());
strcpy(dannie.V01,Edit6->Text.c_str());
strcpy(dannie.t01,Edit4->Text.c_str());
strcpy(dannie.tk1,Edit5->Text.c_str());
strcpy(dannie.dt11,Edit7->Text.c_str());
strcpy(dannie.dt21,Edit9->Text.c_str());
fwrite(&dannie, sizeof(person), 1,f);       }
fclose (f);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)
{
struct person{
char m1[20];
char L1[20];
char Q01[20];
char V01[20];
char t01[20];
char tk1[20];
char dt11[20];
char dt21[20];
};
FILE *f;
person dannie;
if (OpenDialog1->Execute()){
f = fopen(OpenDialog1->FileName.c_str(), "rb");
fread(&dannie, sizeof(person), 1,f);
Edit1->Clear();
Edit2->Clear();
Edit3->Clear();
Edit4->Clear();
Edit5->Clear();
Edit6->Clear();
Edit7->Clear();
Edit9->Clear();
Edit1->Text=dannie.m1;
Edit2->Text=dannie.L1;
Edit3->Text=dannie.Q01;
Edit4->Text=dannie.t01;
Edit5->Text=dannie.tk1;
Edit6->Text=dannie.V01;
Edit7->Text=dannie.dt11;
Edit9->Text=dannie.dt21;
    }
fclose (f);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button7Click(TObject *Sender)
{
}
У меня такой вопрос: какой программный код мне нужно вписать в 7 кнопку, чтобы при сохранении в текстовый файл таблицы у меня получалась таблица с ровными столбцами?

Последний раз редактировалось MaTBeu; 16.07.2009 в 23:24.
Streb вне форума Ответить с цитированием
Старый 12.01.2010, 17:45   #3
extramakcian
Новичок
Джуниор
 
Регистрация: 08.11.2009
Сообщений: 1
По умолчанию

Код:
TStringList *pStrings = new TStringList;

 //по столбцам
 String line;
 for (int i=0; i < StringGrid1->RowCount; i++)
 {
   line = StringGrid1->Cells[0][i];
   for (int j=1; j < StringGrid1->ColCount; j++)
   {
    line = line + "\t" + StringGrid1->Cells[j][i];
   }
    pStrings->Add(line);
 }
pStrings->SaveToFile("ct.45");
delete pStrings;

Последний раз редактировалось extramakcian; 12.01.2010 в 17:48. Причина: впервые отвечаю
extramakcian вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таблица в C# (не БД) mopozoff Общие вопросы .NET 6 15.11.2015 00:15
таблица тася Microsoft Office Excel 17 25.01.2009 00:29
Таблица Настенька..Блонди Помощь студентам 3 07.01.2009 18:16
таблица artemavd Общие вопросы Delphi 3 23.07.2008 13:56
Таблица frutty Компоненты Delphi 1 07.04.2008 09:29