KOD cpp: UKRYJ
// ---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <fstream.h>
#include <stdio.h>
#include "Unit1.h"
// ---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
// char v[89432];
char v[12];
TForm1 *Form1;
// DWORD v[89431];
// ---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent * Owner) : TForm(Owner) {
}
// ---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) {
/* ścieżka dosępu do pliku Dane.dat znajdującego się w tym samym katalogu co program */
String fileName = ExtractFilePath(ParamStr(0)) + "test.BIN";
fstream infile;
infile.open(fileName.c_str(), ios::in | ios::binary);
infile.read((char *)&v, sizeof(v));
if (sizeof(v) == 0 || infile == NULL) {
ShowMessage("Plik nie istnieje lub jest pusty");
return;
}
/*
Edit1->Text = (String) v[88972]+v[88974]+v[88976]+v[88978]+v[88980]+v[88982]+v[88984]+v[88986]
+v[88988]+v[88990]+v[88992]+v[88994]+v[88996]+v[88998]+v[89000]+v[89002]+v[89004]+v[89006]+v[89008]
+v[89010]+v[89012]+v[89014]+v[89016]+v[89018]+v[89020]+v[89022];
*/
// Edit1->Text = (String) v[0]+v[2]+v[4]+v[6]+v[8]+v[10] ;
Edit1->Text = (String) v[0];
Edit2->Text = (String) v[2];
Edit3->Text = (String) v[4];
Edit4->Text = (String) v[6];
Edit5->Text = (String) v[8];
Edit6->Text = (String) v[10];
infile.close();
}
// ---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender) {
/* jeżeli EditX->Text nic nie zawiera przerwij */
// if( Edit1->Text.IsEmpty())
// {
// ShowMessage("Najpierw wprowadź poprawne dane");
// return;
// }
// v[0]=v[2]=v[4]=v[6]=v[8]=v[10]=v[12] = Edit1->Text.c_str()[0]; //dobry kod nie wywalac
// v[0]=v[2]=v[4]=v[6]=v[8]=v[10] = Edit1->Text.c_str()[0];
v[0] = Edit1->Text.c_str()[0];
v[2] = Edit2->Text.c_str()[0];
v[4] = Edit3->Text.c_str()[0];
v[6] = Edit4->Text.c_str()[0];
v[8] = Edit5->Text.c_str()[0];
v[10] = Edit6->Text.c_str()[0];
/*
v[88972]=v[88974]=v[88976]=v[88978]=v[88980]=v[88982]=v[88984]=v[88986]
=v[88988]=v[88990]=v[88992]=v[88994]=v[88996]=v[88998]=v[89000]=v[89002]=v[89004]==v[89006]==v[89008]
==v[89010]==v[89012]==v[89014]==v[89016]==v[89018]==v[89020]==v[89022]==Edit1->Text.c_str()[0];
*/
/* ścieżka dosępu do pliku Dane.dat znajdującego się w tym samym katalogu co program */
String fileName = ExtractFilePath(ParamStr(0)) + "wyjsciowe dane.DAT";
fstream outfile;
outfile.open(fileName.c_str(), ios::out | ios::binary);
outfile.write((char *)&v, sizeof(v));
outfile.close();
}
// ---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <fstream.h>
#include <stdio.h>
#include "Unit1.h"
// ---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
// char v[89432];
char v[12];
TForm1 *Form1;
// DWORD v[89431];
// ---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent * Owner) : TForm(Owner) {
}
// ---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) {
/* ścieżka dosępu do pliku Dane.dat znajdującego się w tym samym katalogu co program */
String fileName = ExtractFilePath(ParamStr(0)) + "test.BIN";
fstream infile;
infile.open(fileName.c_str(), ios::in | ios::binary);
infile.read((char *)&v, sizeof(v));
if (sizeof(v) == 0 || infile == NULL) {
ShowMessage("Plik nie istnieje lub jest pusty");
return;
}
/*
Edit1->Text = (String) v[88972]+v[88974]+v[88976]+v[88978]+v[88980]+v[88982]+v[88984]+v[88986]
+v[88988]+v[88990]+v[88992]+v[88994]+v[88996]+v[88998]+v[89000]+v[89002]+v[89004]+v[89006]+v[89008]
+v[89010]+v[89012]+v[89014]+v[89016]+v[89018]+v[89020]+v[89022];
*/
// Edit1->Text = (String) v[0]+v[2]+v[4]+v[6]+v[8]+v[10] ;
Edit1->Text = (String) v[0];
Edit2->Text = (String) v[2];
Edit3->Text = (String) v[4];
Edit4->Text = (String) v[6];
Edit5->Text = (String) v[8];
Edit6->Text = (String) v[10];
infile.close();
}
// ---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender) {
/* jeżeli EditX->Text nic nie zawiera przerwij */
// if( Edit1->Text.IsEmpty())
// {
// ShowMessage("Najpierw wprowadź poprawne dane");
// return;
// }
// v[0]=v[2]=v[4]=v[6]=v[8]=v[10]=v[12] = Edit1->Text.c_str()[0]; //dobry kod nie wywalac
// v[0]=v[2]=v[4]=v[6]=v[8]=v[10] = Edit1->Text.c_str()[0];
v[0] = Edit1->Text.c_str()[0];
v[2] = Edit2->Text.c_str()[0];
v[4] = Edit3->Text.c_str()[0];
v[6] = Edit4->Text.c_str()[0];
v[8] = Edit5->Text.c_str()[0];
v[10] = Edit6->Text.c_str()[0];
/*
v[88972]=v[88974]=v[88976]=v[88978]=v[88980]=v[88982]=v[88984]=v[88986]
=v[88988]=v[88990]=v[88992]=v[88994]=v[88996]=v[88998]=v[89000]=v[89002]=v[89004]==v[89006]==v[89008]
==v[89010]==v[89012]==v[89014]==v[89016]==v[89018]==v[89020]==v[89022]==Edit1->Text.c_str()[0];
*/
/* ścieżka dosępu do pliku Dane.dat znajdującego się w tym samym katalogu co program */
String fileName = ExtractFilePath(ParamStr(0)) + "wyjsciowe dane.DAT";
fstream outfile;
outfile.open(fileName.c_str(), ios::out | ios::binary);
outfile.write((char *)&v, sizeof(v));
outfile.close();
}
// ---------------------------------------------------------------------------
wczytuje plik 12 bajtów do komponentu Edit1 pobrane z offset i wszystko ładnie pięknie tekst sie wyświetla tylko mam problem z zapisaniem tego ;/ Podczas zapisywania do pliku określonych znaków zapisuje mi zawszy pierwszy znak np mam taką zawartość pliku M.A.T.R.Y.C.A. i wczytuje to do sześciu pól edit i jest ladnie i pieknie i zapis jest z powodzeniem...I teraz pytanie jak to zrobić by odczytaną ilość znaków zapisać to z jednego pola komponentu edit nie używając większej ilości komponentów? ...Tam gdzie są komentarze to sa moje sposoby na zapis ale nie skuteczne ;/Nie wiem czy jasno się wyraziłem