Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
21 / 29 / 2
Регистрация: 04.12.2013
Сообщений: 263
1

Загрузка файла в компонент Outline: Как определить что цикл больше делать не надо

05.12.2013, 08:43. Просмотров 786. Ответов 4
Метки нет (Все метки)


Подскажите еще такой момент (гугл не может ничего найти).
Есть на форме компонента Outline1, загружаю туда файл:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
 TMemoryStream* TempStream;
 
   String strok_files;
 
  TempStream = new TMemoryStream;
  Form1->Outline1->LoadFromFile("Indigo1.ini");
  Form1->Outline1->SaveToStream(TempStream);
  TempStream->Seek(0, soFromBeginning);
  for(int i=0;Form1->Outline1->Items[i];i++)
    {
    strok_files =  Form1->Outline1->Items[i]->Text;
    AddLog(strok_files, clWindowText);
    }
собственно сами вопросы:
1. как определить что цикл больше делать не надо (что в компоненте Outline больше нет ничего)?
2. правильно ли я вытаскиваю текст из Outline ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2013, 08:43
Ответы с готовыми решениями:

Что мне делать или что надо знать перед тем как начать изучение яз.программирования С/С++?
Я пока вообще не умею программировать.Сначала хотел с бейсика или паскаля.Но многие советуют...

Подскажите что делать. Знаю что надо перегрузить оператор но никак не могу понять как это сделать
#include "stdafx.h" #include <iostream> #include <conio.h> #include <Windows.h> #include...

Определить наименьший положительный компонент файла среди компонент файла расположенных на нечётных позициях
Организовать файл целых чисел . Определить наименьший положительный компонент файла среди...

Разбираюсь с outlook. что не так? код не мой но по сути должен делать что мне надо, но он ничего не делает
Function ListOLInbox() 'спиcок писем в папке "входящие" Dim OL_App As Outlook.Application Dim...

4
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30867 / 20189 / 7874
Регистрация: 22.10.2011
Сообщений: 35,049
Записей в блоге: 6
05.12.2013, 09:50 2
Цитата Сообщение от AlexAngel Посмотреть сообщение
правильно ли я вытаскиваю текст из Outline ?
Нет. Вот правильный цикл:

C++
1
2
3
4
5
  for(int i=0; i < Form1->Outline1->ItemCount;i++)
    {
    strok_files =  Form1->Outline1->Items[i]->Text;
    AddLog(strok_files, clWindowText);
    }
Меня другой вопрос интересует: зачем сейчас нужно использовать компонент, который уже на Win3.11 - и то никто не использовал, как только появился TreeView - все сразу перешли на него... Зачем тянуть этот балласт за собой?
0
510 / 195 / 26
Регистрация: 07.08.2013
Сообщений: 814
05.12.2013, 09:55 3
AlexAngel, гугл знает такое: TreeView и Outline - отображение дерева данных.
0
21 / 29 / 2
Регистрация: 04.12.2013
Сообщений: 263
05.12.2013, 11:08  [ТС] 4
Цитата Сообщение от Kulgar Посмотреть сообщение
Спасибо! Все работает.
Я тянуть пришлось из-за того, что есть работающая программа, которая была написана в такие стародревние времена, что и сказать страшно. Переписывать ее долго и муторно, а вот поддерживать приходится
0
21 / 29 / 2
Регистрация: 04.12.2013
Сообщений: 263
25.08.2014, 07:33  [ТС] 5
Добрый день, уважаемые форумчане!
Опять потребовалась ваша помощь с этой древней как мамонт программой.

Вопрос в следующем: есть сервер, на нем есть текстовый файл-карточка организации, которая должна обрабатываться программой. Раньше программа использовала промежуточные файлы, но со временем таких файлов в динамически создаваемых потоках может насчитываться до 10 000 в час. Сами понимаем, что так нельзя, диски имеют свойство изнашиваться из-за такого огромного количества циклов записи - удаления. Было принято решение уйти от промежуточных фалов.
Делаю так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
AnsiString URlMe="http://любой_текстовый_файл";     
 
   TMemoryStream *MSVrAll = new  TMemoryStream;
   Form1->IdHTTP1->Get(URlMe,MSVrAll);
   MSVrAll->SaveToFile("text_File.txt");
 //тут получаем что файл нормально скачался и сохранился на диске, но нам от него надо избавиться
 
//а вот следующая строчка ни в какую не хочет помещать весь файл с потока в Outline1
 
    Form1->Outline1->LoadFromStream(MSVrAll);
 
//Причем ошибок никаких Builder не выдает, просто в Outline1 пусто....
Кто знает как это можно обойти? А то таких Outline1 в программе больше 900 и переписывать их на что-то более новое...

Добавлено через 16 минут
Все, спасибо всем. Разобрался (рабочий код):

C++
1
2
     MSVrAll->Seek(0,0);
      Form1->Outline1->LoadFromStream(MSVrAll);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.08.2014, 07:33

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Определить, что число из второго файла больше соответствующего числа в первом
Помогите пожалуйста....переделайте из паскаля в делфи. Дано два файла, содержащих одинаковое...

Организовать файл целых чисел из N компонент. Определить сумму компонент файла имеющих нечётные индексы
Организовать файл целых чисел из N компонент. Определить сумму компонент файла имеющих нечётные...

SoS, надо помочь понять что делать...
скажу сразу в базах пока не сильно бум-бум, задали написать базу настроить ключи, заполнить - это...

Загрузка из файла в компонент TStringGrid
Здравствуйте! Нужна помощь не могу загрузить данные из файла в stringgrid. Вот сделал сохранение в...

Вечная загрузка BIOS, что делать ?
Свою старою материнку продал,гонять неделю до нового пк на чем то надо, и нашёл свою древнию...

Цикл не выводит то, что надо
вот код С вводом тоже проблема. Первую переменную ввожу,вторую - пропускает. /* * Created by...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.