• 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.

VPS Starter Arubacloud
0 głosów
132 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ź 441 wizyt
pytanie zadane 16 stycznia 2016 w C i C++ przez bergman Obywatel (1,600 p.)
0 głosów
1 odpowiedź 422 wizyt
pytanie zadane 13 września 2015 w C i C++ przez Krawiec91 Pasjonat (19,600 p.)
0 głosów
1 odpowiedź 202 wizyt
pytanie zadane 30 sierpnia 2015 w C i C++ przez Pomarancza Użytkownik (820 p.)

92,973 zapytań

141,937 odpowiedzi

321,171 komentarzy

62,301 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...