• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[builder 6 c++ ]Mam problem z odczytem pliku.

Object Storage Arubacloud
0 głosów
119 wizyt
pytanie zadane 16 kwietnia 2016 w C i C++ przez Kamil Wietecha Nowicjusz (150 p.)
Mam następujący problem :

Chce aby ten program był licznikiem który zapisuje ile jest już włączony zapis idzie do "plik"
Z góry dziękuje.




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

#include <vcl.h>
#pragma hdrstop
#include <fstream>



#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TForm1 *Form1;
AnsiString nazwa_pliku="plik.txt";
int s=0;
int godzin,minut,sekund;
AnsiString godz,min,sek;
int cs;
int godzin1,minut1,sekund1;
AnsiString godz1,min1,sek1;
AnsiString linia;
int nr_linii=1;




//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)

{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{

  if (Timer1->Enabled==false)
  {
  Timer1->Enabled=true;
  Button1->Caption="Stop";

  }
  else
  {
   Timer1->Enabled=false;
   Button1->Caption="Start";
  };



}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{


     s++;
     Label5->Caption=s;
     cs=cs+s;


    godzin=s/3600;
    godz=IntToStr(godzin);
    if(godzin<10) godz="0"+godz;

    minut=(s-godzin*3600)/60;
    min=IntToStr(minut);
    if(minut<10) min="0"+min;

    sekund=s-godzin*3600-minut*60;
    sek=IntToStr(sekund);
    if(sekund<10) sek="0"+sek;

    //2 czasomież

    godzin1=cs/3600;
    godz1=IntToStr(godzin1);
    if(godzin<10) godz1="0"+godz;

    minut1=(cs-godzin*3600)/60;
    min1=IntToStr(minut1);
    if(minut1<10) min1="0"+min1;

    sekund1=cs-godzin*3600-minut*60;
    sek1=IntToStr(sekund1);
    if(sekund1<10) sek1="0"+sek1;

    Label1->Caption=godz+":"+min+":"+sek;

    Label3->Caption=godz1+":"+min1+":"+sek1;



    #include <fstream.h>
    fstream plik;
    plik.open("plik.txt", ios::in);



    while (getline(plik,linia)) //tu jest problem
    {
        switch (nr_linii)
        {
            case 1: cs=atoi(linia.c_str()); break;
        }
        nr_linii++;
    }















}
//---------------------------------------------------------------------------

 #include <fstream.h>
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 //tu musze zapisac do pliku


  fstream plik;
    plik.open("plik.txt",ios::out);
    plik<<s<<endl;
    plik.close();




Application->Terminate();
}
//---------------------------------------------------------------------------

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

#include <vcl.h>
#pragma hdrstop
#include <fstream>



#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TForm1 *Form1;
AnsiString nazwa_pliku="plik.txt";
int s=0;
int godzin,minut,sekund;
AnsiString godz,min,sek;
int cs;
int godzin1,minut1,sekund1;
AnsiString godz1,min1,sek1;
AnsiString linia;
int nr_linii=1;




//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)

{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{

  if (Timer1->Enabled==false)
  {
  Timer1->Enabled=true;
  Button1->Caption="Stop";

  }
  else
  {
   Timer1->Enabled=false;
   Button1->Caption="Start";
  };



}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{


     s++;
     Label5->Caption=s;
     cs=cs+s;


    godzin=s/3600;
    godz=IntToStr(godzin);
    if(godzin<10) godz="0"+godz;

    minut=(s-godzin*3600)/60;
    min=IntToStr(minut);
    if(minut<10) min="0"+min;

    sekund=s-godzin*3600-minut*60;
    sek=IntToStr(sekund);
    if(sekund<10) sek="0"+sek;

    //2 czasomież

    godzin1=cs/3600;
    godz1=IntToStr(godzin1);
    if(godzin<10) godz1="0"+godz;

    minut1=(cs-godzin*3600)/60;
    min1=IntToStr(minut1);
    if(minut1<10) min1="0"+min1;

    sekund1=cs-godzin*3600-minut*60;
    sek1=IntToStr(sekund1);
    if(sekund1<10) sek1="0"+sek1;

    Label1->Caption=godz+":"+min+":"+sek;

    Label3->Caption=godz1+":"+min1+":"+sek1;



    #include <fstream.h>
    fstream plik;
    plik.open("plik.txt", ios::in);



    while (getline(plik,linia)) //tu jest problem
    {
        switch (nr_linii)
        {
            case 1: cs=atoi(linia.c_str()); break;
        }
        nr_linii++;
    }















}
//---------------------------------------------------------------------------

 #include <fstream.h>
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 //tu musze zapisac do pliku


  fstream plik;
    plik.open("plik.txt",ios::out);
    plik<<s<<endl;
    plik.close();




Application->Terminate();
}
//---------------------------------------------------------------------------

 

1 odpowiedź

+1 głos
odpowiedź 16 kwietnia 2016 przez Radfler VIP (101,030 p.)
wybrane 16 kwietnia 2016 przez Kamil Wietecha
 
Najlepsza

Linijka 105: NIGDY nie załączaj nagłówków w miejscach różnych od globalnej przestrzeni nazw (chyba, że dobrze wiesz co robisz). Poza tym brakuje przedrostka std:: przy nazwach ze standardowej przestrzeni nazw (albo ogólniej: brakuje using namespace std;)

1
komentarz 16 kwietnia 2016 przez Kamil Wietecha Nowicjusz (150 p.)
Dziękuje za Odpowiedź

Podobne pytania

–4 głosów
1 odpowiedź 416 wizyt
pytanie zadane 16 stycznia 2016 w C i C++ przez bergman Obywatel (1,600 p.)
0 głosów
1 odpowiedź 355 wizyt
pytanie zadane 13 września 2015 w C i C++ przez Krawiec91 Pasjonat (19,600 p.)
0 głosów
1 odpowiedź 191 wizyt
pytanie zadane 30 sierpnia 2015 w C i C++ przez Pomarancza Użytkownik (820 p.)

92,568 zapytań

141,420 odpowiedzi

319,620 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...