Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
11 / 11 / 7
Регистрация: 23.12.2009
Сообщений: 300

робота с файлами

02.03.2010, 17:35. Показов 2370. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
програма должна сохранять инфу введенную в StringGrid1 в файл table.txt при выходе и заносить с файла в StringGrid1 данные при открытии. если можно то с коментариями
спасибо
Вложения
Тип файла: 7z file.7z (574.4 Кб, 33 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.03.2010, 17:35
Ответы с готовыми решениями:

робота с файлами
У меня есть пример. Как мне сделать чтоб виводило ФАМИЛИИ всех учеников которие учатса на отлично, т.е все п*яторки?

Робота с файлами
В файл записано 3 числа, мне нужно 2 первых сложить и отнять от рузультата третье число.Помогите!

Робота с файлами
Добрый День! Начал разбиратся с файлами и есть вопросы. Сделал некоторые наброски. Правильно ? И не могу понять как все объединить в...

7
11 / 11 / 7
Регистрация: 23.12.2009
Сообщений: 300
02.03.2010, 18:41  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "stdio.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
 
 
int fp;
 
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
int i,j,s;
i=1;
s=1;
 
StringGrid1->Cells[0][0]="№";
StringGrid1->Cells[1][0]="Фамилия";
StringGrid1->Cells[2][0]="Имя";
StringGrid1->Cells[3][0]="Отчество";
StringGrid1->Cells[4][0]="Группа";
StringGrid1->Cells[5][0]="Оценка";
StringGrid1->Cells[6][0]="Вариант";
StringGrid1->Cells[7][0]="Дата";
 
if(FileExists("table.txt")) fp=FileOpen("meteo.txt",fmOpenWrite);
 else fp=FileCreate("table.txt");
 
if(fp!=-1) {FileSeek(fp,0,0); // установить указатель на начало
           while(!fp.eof())
            {for(j=1;j<8;j++) {StringGrid1->Cells[i][j]=FileRead(f,st.c_str(),st.Length());
                               i++;} }
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
if(fp!=-1) {FileSeek(fp,0,0); // установить указатель на начало
            while(StringGrid1->Cells[i][j]=="")
               {for(j=1;j<8;j++) {StringGrid1->Cells[i][j]=FileWrite(f,st.c_str(),st.Length());
                                  i++;}
 
 
FileClose(fp);
}
//---------------------------------------------------------------------------
0
 Аватар для mirso
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
02.03.2010, 23:58
Hovercat,
Цитата Сообщение от Hovercat Посмотреть сообщение
сохранять инфу введенную в StringGrid1 в файл table.txt при выходе и заносить с файла в StringGrid1 данные при открытии.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    StringGrid1->Options = StringGrid1->Options << goEditing;
    StringGrid1->ColCount = 8;
    StringGrid1->FixedCols = 0;
 
    StringGrid1->Cells[0][0]="№";
    StringGrid1->Cells[1][0]="Фамилия";
    StringGrid1->Cells[2][0]="Имя";
    StringGrid1->Cells[3][0]="Отчество";
    StringGrid1->Cells[4][0]="Группа";
    StringGrid1->Cells[5][0]="Оценка";
    StringGrid1->Cells[6][0]="Вариант";
    StringGrid1->Cells[7][0]="Дата";
    //*********************************************
 
    TStringList *sl = new TStringList;
    if ( !FileExists("table.txt") ){ delete sl;  return; }
    //-----------------------------------------------------
    // "1 Иванов Иван Иванович SiemensАТ12-a 12 с2 02032010"
 
    sl->LoadFromFile("table.txt");
    //-----------------------------------------------------
    for ( int i = 0; i < sl->Count; ++i )
    {
        String s = sl->Strings[i] + " ";
 
        for ( int j = 0; j < 8; ++j )
        {
            StringGrid1->Cells[j][i + 1] = s.SubString(1, s.Pos(" "));
            s.Delete( 1, s.Pos(' ') );
        }
    }
    //-----------------------------------------------------------------
    delete sl;
}
//---------------------------------------------------------------------------
 
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TStringList *sl = new TStringList;
 
    if ( FileExists( "table.txt" ) )
        sl->LoadFromFile ( "table.txt" );
 
    String s;
    for ( int i = 0; i < StringGrid1->ColCount; ++i )
        s += StringGrid1->Cells[i][2 - 1] + " ";
 
    sl->Append( s );
    sl->SaveToFile ( "table.txt" );
 
    delete sl;
}
//---------------------------------------------------------------------------
вводишь данные во вторую строку (индекс 1 или легче записать 2-1) StringGrid1->Cells[i][2 - 1]
2
11 / 11 / 7
Регистрация: 23.12.2009
Сообщений: 300
03.03.2010, 01:49  [ТС]
mirso вы мой кумир
спасибо

Добавлено через 1 час 31 минуту
C++
1
2
3
4
5
String s;
for(j=1;StringGrid1->Cells[0][i]!="";j++)
for(i=0;i<StringGrid1->ColCount;++i) s+=StringGrid1->Cells[i][j]+" ";
sl->Append( s );
sl->SaveToFile( "table1.txt" );
нужно сделать чтоб сохраняло все данные в таблице но не выходит
и еще чтоб новый ряд таблицы в файле тоже начинался заново
0
 Аватар для mirso
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
03.03.2010, 14:27
сохраняло все данные в таблице
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    StringGrid1->Options = StringGrid1->Options << goEditing;
    StringGrid1->ColCount = 8;
    StringGrid1->FixedCols = 0;
 
    StringGrid1->Cells[0][0]="№"; StringGrid1->ColWidths[0] = 24;
    StringGrid1->Cells[1][0]="Фамилия";
    StringGrid1->Cells[2][0]="Имя";
    StringGrid1->Cells[3][0]="Отчество";
    StringGrid1->Cells[4][0]="Группа";  StringGrid1->ColWidths[4] = 100;
    StringGrid1->Cells[5][0]="Оценка";
    StringGrid1->Cells[6][0]="Вариант";
    StringGrid1->Cells[7][0]="Дата";
    //*********************************************
 
    TStringList *sl = new TStringList;
    if ( !FileExists("table.txt") ){ delete sl;  return; }
    //-----------------------------------------------------
    // "1 Иванов Иван Иванович SiemensАТ12-a 12 с2 02032010"
 
    sl->LoadFromFile("table.txt");
    //-----------------------------------------------------
    for ( int i = 0; i < sl->Count; ++i )
    {
        String s = sl->Strings[i] + " ";
 
        for ( int j = 0; j < 8; ++j )
        {
            StringGrid1->Cells[j][i + 1] = s.SubString(1, s.Pos(" ") - 1 );
            s.Delete( 1, s.Pos(' ') );
        }
    }
    //-----------------------------------------------------------------
    delete sl;
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TStringList *sl = new TStringList;
 
    String s;
 
    for ( int i = 1; i < StringGrid1->RowCount; ++i, s = s.TrimRight() + "\r\n" )
    for ( int j = 0; j < StringGrid1->ColCount; ++j )
        s += StringGrid1->Cells[j][i] + " ";
 
    ShowMessage(s);
 
    sl->Append( s );
    sl->SaveToFile ( "table.txt" );
 
    delete sl;
}
//---------------------------------------------------------------------------
1
11 / 11 / 7
Регистрация: 23.12.2009
Сообщений: 300
03.03.2010, 20:10  [ТС]
Цитата Сообщение от mirso Посмотреть сообщение
s = s.TrimRight() + "\r\n" )
что значит TrimRight() ато я в справке смотрел и не понял
0
 Аватар для mirso
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
03.03.2010, 20:56
C++
1
AnsiString __fastcall TrimRight() const;
DSTRING.H
Цитата Сообщение от Hovercat Посмотреть сообщение
TrimRight()
удаление пробелов в конце строки
C++
1
2
3
4
5
    String s = "TrimRight   \r\n \t ";
    
    ShowMessage ( AnsiQuotedStr ( s , '"' ) );
    s = s.TrimRight();
    ShowMessage ( AnsiQuotedStr ( s , '"' ) );
1
11 / 11 / 7
Регистрация: 23.12.2009
Сообщений: 300
03.03.2010, 21:08  [ТС]
[QUOTE=mirso;579586]
удаление пробелов в конце строки

полезный сайт, хоть и на англ, спасибо. будем изучать)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.03.2010, 21:08
Помогаю со студенческими работами здесь

Робота с файлами
Как в типизорованый файл вставить заголовок с различной информацией?

Робота з файлами
Задан файл целых чисел F. Используя вспомогательный файл Н, переписать компоненты файла F в файл G так, чтобы сначала были записаны все...

Робота с файлами
В исходном файле имеется набор записей вида: Фамилия Полный адрес Домашний телефон 1)Сделать программу которая формирует исходный...

Робота с файлами
Пусть задан текстовый файл f1. Создать на его основе текстовый файл f2 в который записать все строки из файла f1, удалив первую букву из...

Робота с файлами и каталогами
Подскажите пожалуста как в c++ роботать с файлами,каталогами и подкаталогами?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru