Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [C++] создание формы 
:(
    Опции темы
fenwer
Дата 18.2.2008, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 11.11.2007
Где: Россия. Москва

Репутация: нет
Всего: нет



Пожалуйста помогите ! 
Код

//---------------------------------------------------------------------------

#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





Прога еще не совсем дописана, но принцип такой : данные берутся из файла и потом распихиваются по полям формы. Почему картинки не грузятся и в листбокс не добавляются данные? И если кто может напиште примерную функцию как из файла добавить в определенное поле формы определенную строку.
Заранее огромное спасибо smile

Добавлено через 5 минут и 36 секунд
Текстовый файл выглядит у меня так :
gh.jpg
Джейран
А
Азия
30000
tg.jpg
Гну
В
Африка
560000
rg.jpg
Бейза
С
Африка
2500
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0416 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.