Пожалуйста помогите ! | Код | //---------------------------------------------------------------------------
#include <vcl.h> #include "Unit1.h" #include "stdio.h" #include "jpeg.hpp" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; int f; TOleni Oleni;
int GetInt(int f); int GetString(int f,AnsiString *st);
//--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {
} //---------------------------------------------------------------------------
void __fastcall TForm1::Edit2Change(TObject *Sender) { if( (Edit2->Text.Length()!=0)&&(Edit2->Text.Length()!=1)) Button2->Visible = true; else Button2->Visible=false;
if( (Edit2->Text.Length()!=0)&&(Edit2->Text.Length()!=1)) Button3->Visible = true; else Button3->Visible=false;
} //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { AnsiString st;
/* ôàéë ìîæíî îòêðûòü â ðåæèìå fmCreate, òîãäà, åñëè ôàéë ñóùåñòâóåò, îí áóäåò îòêðûò äëÿ çàïèñè, åñëè ôàéëà íåò, òî îí áóäåò ñîçäàí */
st = Edit1->Text + "\r\n";
/* îòêðûòü äëÿ çàïèñè èëè ñîçäàòü ôàéë meteo.txt */
if ( FileExists("gamno.txt") ) f = FileOpen("gamno.txt",fmOpenWrite); else f = FileCreate("gamno.txt");
if ( f != -1 ) { // ôàéë îòêðûò äëÿ çàïèñè FileSeek(f,0,2); // óñòàíîâèòü óêàçàòåëü íà êîíåö ôàéëà FileWrite(f,st.c_str(),st.Length()); FileClose(f); Button1->Enabled = false; Edit1->Text = ""; }
else { /* îøèáêà äîñòóïà ê ôàéëó: íè îòêðûòü, íè ñîçäàòü íå ïîëó÷èëîñü */ ShowMessage("Oøèáêà äîñòóïà ê ôàéëó: íè îòêðûòü," "íè ñîçäàòü íå ïîëó÷èëîñü"); } } //--------------------------------------------------------------------------- void __fastcall TForm1::Edit1Change(TObject *Sender) { if( (Edit1->Text.Length()!=0)&&(Edit1->Text.Length()!=1)) Button1->Enabled = true; else Button1->Enabled=false; } //---------------------------------------------------------------------------
bool GetBarans(TOleni*v) { AnsiString st; int p; if(GetString(f,&(v->Olen))!=0) { v->Olen=GetString(f,&st); v->Group=GetString(f,&st); v->Habitat=GetString(f,&st); v->Amount=GetInt(f); v->Img=GetInt(f); p=GetInt(f); if(p) GetString(f,&(v->Img)); else v->Img=" "; return true; } else return false; }
//---------------------------------------------------------------------------
void __fastcall TForm1::ShowOleni(TOleni v) { Image1->Picture->LoadFromFile(v.Img); Image1->AutoSize=true;
Image1->Enabled = true;
} //--------------------------------------------------------------------------- int GetString(int f, AnsiString *st) { unsigned char buf[300]; // ñòðîêà (áóôåð) unsigned char *p = buf; // óêàçàòåëü íà ñòðîêó
int n; // êîë-âî ïðî÷èòàííûõ áàéò (çíà÷åíèå ô-è FileRead) int len = 0; // äëèíà ñòðîêè
n = FileRead(f, p, 1); while ( n != 0 ) { if ( *p == '\r') { n = FileRead(f, p, 1); // ïðî÷èòàòü '\n' break; } len++; p++; n = FileRead(f, p, 1); }
*p = '\0'; if ( len !=0) st->printf("%s", buf); return len; }
// ÷èòàåò èç ôàéëà öåëîå ÷èñëî int GetInt(int f) { char buf[20]; // ñòðîêà (áóôåð) char *p = buf; // óêàçàòåëü íà ñòðîêó
int n; // êîë-âî ïðî÷èòàííûõ áàéò (çíà÷åíèå ô-è FileRead) int a; // ÷èñëî, ïðî÷èòàííîå èç ôàéëà
n = FileRead(f, p, 1) ; while ( (*p >= '0') && (*p <= '9') && (n > 0) ) { p++; n = FileRead(f, p, 1) ; }
if ( *p == '\r') n = FileRead(f, p, 1); // ïðî÷èòàòü '\n'
*p = '\0';
// èçîáðàæåíèå ÷èñëà â áóôåðå, ïðåîáðàçóåì â öåëîå sscanf(buf,"%i", &a); return a; }
//---------------------------------------------------------------------------
void __fastcall TForm1::ShowOlenii(TOleni v) { ListBox2->Count=3; ListBox2->Items->LoadFromFile(v.Olen);
}
|
| Код | #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <ComCtrls.hpp> #include <ExtCtrls.hpp> #include <string.h> struct TOleni{ AnsiString Img; AnsiString Olen; AnsiString Group; AnsiString Habitat; AnsiString Amount; };
//--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TPageControl *PageControl1; TTabSheet *TabSheet1; TTabSheet *TabSheet2; TTabSheet *TabSheet3; TLabel *Label1; TButton *Button1; TEdit *Edit1; TGroupBox *GroupBox1; TComboBox *ComboBox1; TLabel *Label2; TLabel *Label3; TComboBox *ComboBox2; TLabel *Label4; TEdit *Edit2; TButton *Button2; TButton *Button3; TComboBox *ComboBox3; TButton *Button4; TImage *Image1; TListBox *ListBox2; void __fastcall Edit2Change(TObject *Sender); void __fastcall Button1Click(TObject *Sender); void __fastcall Edit1Change(TObject *Sender);
private: void __fastcall ShowOleni(TOleni v); void __fastcall ShowOlenii(TOleni v); // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif
|
Прога еще не совсем дописана, но принцип такой : данные берутся из файла и потом распихиваются по полям формы. Почему картинки не грузятся и в листбокс не добавляются данные? И если кто может напиште примерную функцию как из файла добавить в определенное поле формы определенную строку. Заранее огромное спасибо Добавлено через 5 минут и 36 секундТекстовый файл выглядит у меня так : gh.jpg Джейран А Азия 30000 tg.jpg Гну В Африка 560000 rg.jpg Бейза С Африка 2500
|