Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись в файл, разных типов данных 
V
    Опции темы
leporel
Дата 5.7.2010, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 12.2.2008

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



Можно как то записать в один файл данные из TEdit и TImage и прочесть их потом?
 smile 
PM MAIL   Вверх
Ярослав
Дата 5.7.2010, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 189
Регистрация: 8.6.2009

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



TForm1 *Form1;
int f; // дескриптор файла

AnsiString st;
st = Label1->Caption +"         "+ Edit1->Text +"\r\n";
if ( FileExists("пример.txt") )
        f = FileOpen("пример.txt",fmOpenWrite);
    else
       f = FileCreate("пример.txt");


    if ( f != -1 )
    {
        // файл открыт для записи
        FileSeek(f,0,2); // установить указатель на конец файла
        FileWrite(f,st.c_str(),st.Length());
FileClose(f);
    }

    else
    {
        /* ошибка доступа к файлу: ни открыть,
           ни создать не получилось */
        ShowMessage("Oшибка доступа к файлу: ни открыть,"
                     "ни создать не получилось");
    }




-----------------------------------------
Filter для OpenDialog1 текстовые файлы|*.txt|все файлы|*.* и Title Открытие файла
DefaultExt для SaveDialog1 .txt и Title Сохранение файла



Кнока открыть
if(Memo1->Modified) NewClick(this);
 if(OpenDialog1->Execute())
 {
  Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
  Name = OpenDialog1->FileName;
  Caption = "TEmemo " + Name;
 }


Кнопка сохранить
Memo1->Lines->SaveToFile(Name);


кнопка сохранить как
SaveDialog1->FileName = Name;
 if(SaveDialog1->Execute())
 Memo1->Lines->SaveToFile(SaveDialog1->FileName);


кнопка новый
if(Memo1->Modified)
  {
   if(Application->MessageBox("Сохранить изменения?","Сохранение",MB_YESNO)==IDYES)
   {
    if(Name=="NoName") SaveAsClick(this);
    else SaveClick(this);
   }
   else { Memo1->Clear(); Memo1->Modified = false; }
  }

Добавлено через 1 минуту и 47 секунд
#include <stdio.h>

Сохранение

if(StringGrid1->RowCount==2 &&  StringGrid1->Cells[1][1].IsEmpty()&&
   StringGrid1->Cells[2][1].IsEmpty() &&  StringGrid1->Cells[3][1].IsEmpty()&&
   StringGrid1->Cells[4][1].IsEmpty())
   ShowMessage("Нечего сохранять");

    else
     {
 if (SaveDialog1->Execute())
  {


  TStringList *Files=new    TStringList;
Files->Add(IntToStr(StringGrid1->ColCount)) ;
Files->Add(IntToStr(StringGrid1->RowCount)) ;

for( int cRow=1;  cRow<StringGrid1->RowCount; cRow++)
for( int cCol=1;  cCol<StringGrid1->ColCount; cCol++)
Files->Add(StringGrid1->Cells[cCol][cRow]);

Files->SaveToFile(SaveDialog1->FileName);
delete Files;
    }
 }

//-------------------------
//-------------------------
Чтение

if (OpenDialog1->Execute())
 {
  TStringList *Files = new TStringList;
  Files->LoadFromFile (OpenDialog1->FileName);
  AnsiString buff;
  buff=Files->Strings[0];
  Files->Delete(0);
  StringGrid1->ColCount=StrToInt(buff);

  buff=Files->Strings[0];
  Files->Delete(0);
  StringGrid1->RowCount=StrToInt(buff);
  int Stroka=0;

  for( int cRow=1;  cRow<StringGrid1->RowCount; cRow++)
  for( int cCol=1;  cCol<StringGrid1->ColCount; cCol++)
    {
     StringGrid1->Cells[cCol][cRow]=Files->Strings[Stroka];
     Stroka++;
    }
   for( int cRow=1;  cRow<StringGrid1->RowCount; cRow++)
   StringGrid1->Cells[0][0];

   delete Files;
 }

//---------------
Value- Искомое значение.


  for( int cRow=1;  cRow<StringGrid1->RowCount; cRow++)
  for( int cCol=1;  cCol<StringGrid1->ColCount; cCol++)
    {
      if(StringGrid1->Cells[cCol][cRow]==Value)
      {
         Edit1->Text=Value;
         return;
      }
    }

Добавлено через 2 минуты и 49 секунд
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int f; // дескриптор файла
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString st;
AnsiString sr;
AnsiString sp;
AnsiString sz;

    /* файл можно открыть в режиме fmCreate, тогда, если
       файл существует, он будет открыт для записи,
       если файла нет, то он будет создан */

    st = Label1->Caption +"          "+ Edit1->Text +"\r\n";
    sr = Label2->Caption +"          "+ Edit2->Text +"\r\n";
    sp = Label3->Caption +"          "+Edit3->Text +"\r\n";



    /* открыть для записи или создать файл пример.txt */


    if ( FileExists("пример.txt") )
        f = FileOpen("пример.txt",fmOpenWrite);
    else
       f = FileCreate("пример.txt");


    if ( f != -1 )
    {
        // файл открыт для записи
        FileSeek(f,0,2); // установить указатель на конец файла
        FileWrite(f,st.c_str(),st.Length());


        FileSeek(f,0,2); // установить указатель на конец файла
        FileWrite(f,sr.c_str(),sr.Length());


        FileSeek(f,0,2); // установить указатель на конец файла
        FileWrite(f,sp.c_str(),sp.Length());
        FileClose(f);
    }

    else
    {
        /* ошибка доступа к файлу: ни открыть,
           ни создать не получилось */
        ShowMessage("Oшибка доступа к файлу: ни открыть,"
                     "ни создать не получилось");
    }
}


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

Добавлено через 7 минут и 11 секунд
Ну это тоже поможет. smile 

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  ___.rar 32,16 Kb
PM MAIL   Вверх
xvr
Дата 6.7.2010, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Ярослав, к чему этот поток сознания? Как писать файлы и в хелпе описано  smile 

Цитата(leporel @  5.7.2010,  15:31 Найти цитируемый пост)
Можно как то записать в один файл данные из TEdit и TImage и прочесть их потом?

Можно и записать и прочесть. Вопрос в том, в каком виде вы хотите это все иметь в файле? Если простой бинарный, то пишете для каждого контрола сначала длинну данных, затем сами данные (данные читать/писать через методы (Load/Save)ToStream и через проперть Text). Если надо в текстовом виде, то немного сложнее. Данные надо перевести в что нибудь текстовое (например через base64, в BCB есть встроенные процедуры конверсии) и записать

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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