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

Из TStringList в AnsiString и наоборот

27.04.2012, 22:50. Показов 15186. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема №1:
Имеется строка LFile типаTStringList. Надо записать в LFile "Hello".
Проблема №2:
Имеется строка A типа AnsiString. В неё надо записать переменную B типа TStringList, содержащая "Hello, World"
Вопрос : Как это сделать?
P.S.
Заранее спасибо
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.04.2012, 22:50
Ответы с готовыми решениями:

Как перевести текст из AnsiString (в формате UTF8) в AnsiString формата Windows-1251?
Поиск по форуму не решил текущую проблему: 1. Есть текст в формате UTF-8 в величине: AnsiString qw; Вопрос: 2. Как перевести текст в...

Неясности с TStringList. Как найти наибольший элемент в TStringList?
Добрый день. Проблема следующая: мне надо в TStringList найти самую длинную строчку. Пытаюсь проверять по Length(sl) > Length(sl) - не...

Зашифровать TStringList, сохранить, прочитать, получить исходный TStringList
Здравствуйте. Требуется решение следующей задачи: Зашифровать TStringList (количество строк может достигать 3-5 тысяч строк),...

8
95 / 64 / 5
Регистрация: 03.07.2011
Сообщений: 148
27.04.2012, 22:56
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

Привет! Что-то напутано все...TStringList - это одномерный массив объектов типа AnsiString, список.
В общем случае делаешь так :
C++
1
2
3
4
TStringList * LFile= new TStringList;
LFile->Add("Hello, world");
AnsiString A = LFile->Strings[0];
delete LFile;
2
 Аватар для QWIPQ
144 / 123 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
27.04.2012, 22:59
№1.
C++
1
LFile->Add("Hello");
№2.
C++
1
A=AnsiString(B);
1
95 / 64 / 5
Регистрация: 03.07.2011
Сообщений: 148
27.04.2012, 23:05
Цитата Сообщение от QWIPQ Посмотреть сообщение
№1. LFile->Add("Hello");
№2. A=AnsiString(B);
Насчет второго варианта не уверен. По условиям задачи B = указатель на TStringList, и получается, что вы указатель приводите к строковому типу...это по идее будет этот указатель (число) в строковом виде.
0
 Аватар для QWIPQ
144 / 123 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
27.04.2012, 23:11
ошибся, подходит для обычного TString
вот для LFile:
C++
1
A=AnsiString(LFile->Strings[i]);
1
0 / 0 / 0
Регистрация: 27.04.2012
Сообщений: 13
27.04.2012, 23:26  [ТС]
Спасибо за то что так быстро написали. Попробую, предложенный код.
Если честно, то изначально надо было в LFile типаTStringList загрузить файл с расширением .exe .Потом обработать (произвести поиск символов). В случаи если символы найдены, то записать в Memo1 строку B типа TStringList.
0
95 / 64 / 5
Регистрация: 03.07.2011
Сообщений: 148
27.04.2012, 23:29
Цитата Сообщение от FlashKiller Посмотреть сообщение
Спасибо за то что так быстро написали. Попробую, предложенный код.
Если честно, то изначально надо было в LFile типаTStringList загрузить файл с расширением .exe .Потом обработать (произвести поиск символов). В случаи если символы найдены, то записать в Memo1 строку B типа TStringList.
Не уверен, что получится в строковый контейнер загрузить exe. Дело в том, что exe содержит большое число непечатаемых символов, и часть этих символов может быть строками воспринята по своему - например концом строки, в результате чего файл загрузился бы частично. Файл лучше грузить в массивы типа char.
1
 Аватар для QWIPQ
144 / 123 / 14
Регистрация: 10.10.2011
Сообщений: 366
Записей в блоге: 2
27.04.2012, 23:33
надеюсь искал так:
C++
1
2
3
4
5
6
7
for(int i=0;i<OPEN->Count;i++)
{
          if(LFile->Strings[i].Pos("искомое");)
          {
          
          }
}
1
95 / 64 / 5
Регистрация: 03.07.2011
Сообщений: 148
27.04.2012, 23:38
Цитата Сообщение от QWIPQ Посмотреть сообщение
надеюсь искал так:
C++
1
2
3
4
5
6
7
for(int i=0;i<OPEN->Count;i++)
{
          if(LFile->Strings[i].Pos("искомое");)
          {
          
          }
}
не, неправильно. Вы перебираете все строки в списке LFile, за это отвечает переменная i. А i принимает значения от 0 (правильно) до какого-то OPEN->Count? Что такое OPEN? Правильнее было бы LFile->Count
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.04.2012, 23:38
Помогаю со студенческими работами здесь

E2034 Cannot convert 'TStringList' to 'TStringList *'
Всем привет! Пытаюсь сделать так чтобы можно было выбрать неограниченное количество файлов, но почему то ругается... TStringList **Ffile;...

AnsiString
НЕ могли бы сказать, почему при считывании из файла в переменную типа AnsiString компилятор выдает ошибку??? вот код: Код: ...

Как добраться до конкретного символа TStringList?
Как доступится к конкретному символу обьекта этого класа?

TStringList
sl := TStringList.Create; sl.Delimiter := ' '; sl.QuoteChar := '|'; sl.DelimitedText :='|текст текст| |текст2 1,2,3,4,5|';...

TStringList
есть переменные mem,send,mema:TStringList; дает ошибку на строке 1 mema:=mem+send; mema.SaveToFile(adress); почему так нельзя...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru