Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4

AnsiUpperCase

17.03.2011, 12:41. Показов 3915. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Кто может перевести данную строку из Делфи на c++ builder 6
Точнее меня интересует system.Copy
Delphi
1
s:=Ansiuppercase(system.Copy(phones.items[i].CAPTION,0,length(editFind.Text)));
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.03.2011, 12:41
Ответы с готовыми решениями:

Как сделать чтобы в StringGrid при использовании AnsiUpperCase не выделялось то что вводится
Как сделать чтобы в StringGrid при использовании AnsiUpperCase не выделялось то что вводится. Поясню подробнее. Допустим у меня в коде...


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

Или воспользуйтесь поиском по форуму:
12
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.03.2011, 12:50
Вы хотите скопировать в строку s часть строки phones.items[i].CAPTION длиной length(editFind.Text) , начиная с первого символа, или где ?
0
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
17.03.2011, 12:53  [ТС]
Именно. Пытаюсь сделать поиск по бд.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var i:integer;
    s:ShortString;
begin
  for i:=0 to phones.items.count-1 do begin
    s:=Ansiuppercase(system.Copy(phones.items[i].CAPTION,0,length(editFind.Text)));
    if Ansiuppercase(EditFind.text)=s then begin
       phones.items[i].Selected:=true;
       phones.ItemIndex:=i;
       phones.ItemFocused:=phones.items[i];
       break;
    end;
  end;
  if phones.ItemFocused<>nil then
     phones.ItemFocused.MakeVisible(false);
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int i;
ShortString s;
  for (i=0; i < ListView1->Items->Count-1; i++){
    s=AnsiUpperCase(SYSTEM.COPY//ругаеться
   (ListView1->Items->Item[i]->Caption,0,(Edit1->Text).Length()));
    if (AnsiUpperCase(Edit1->Text)==s){
       ListView1->Items->Item[i]->Selected=true;
       ListView1->ItemIndex=i;
       ListView1->ItemFocused=ListView1->Items->Item[i];
       break;
    }
  }
  if (ListView1->ItemFocused!=NULL){
     ListView1->ItemFocused->MakeVisible(false);
     }
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.03.2011, 13:01
C++
1
2
3
AnsiString str = phones->Items[i].Caption; // понятия не имею, что такое у вас phones
int len = editFind->Text.Length(); // понятия не имею, что такое у вас editFind 
s = str.SubString(0 , len);
это плохо, когда кидают обрывок кода с непонятными переменными и без объяснения, потому как догадываться, как правило, бывает лень.
0
 Аватар для MrAndrey_ka
79 / 79 / 20
Регистрация: 13.05.2009
Сообщений: 537
Записей в блоге: 1
17.03.2011, 13:03
s=phones.items[i].CAPTION.SubString(0,editFind.Text.Lengt h()).UpperCase();
где-то так при этом
phones.items[i].CAPTION и editFind.Text типа String


хотя в твоем случае код
s:=Ansiuppercase(system.Copy(phones.item s[i].CAPTION,0,length(editFind.Text)));
if Ansiuppercase(EditFind.text)=s then begin
лучше написать так:
s:=phones.items[i].CAPTION.SubString(0,length(editFind.Tex t));
if(EditFind.text.AnsiCompare(s)==0)
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.03.2011, 13:03
при использовании
C++
1
s.UpperCase()
0
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
17.03.2011, 13:04  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
C++
1
2
3
AnsiString str = phones->Items[i].Caption; // понятия не имею, что такое у вас phones
int len = editFind->Text.Length(); // понятия не имею, что такое у вас editFind 
s = str.SubString(0 , len);
это плохо, когда кидают обрывок кода с непонятными переменными и без объяснения, потому как догадываться, как правило, бывает лень.
phones - ListView1
editFind - Edit1
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.03.2011, 13:06
C++
1
if (EditFind->Text).UpperCase() == s.UpperCase()) {...}
1
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
17.03.2011, 13:30  [ТС]
К сожалению поиск не работает...
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.03.2011, 13:47
вот так - без ошибок и предупреждений - не работает, и все тут ?

Добавлено через 2 минуты
Цитата Сообщение от MrAndrey_ka Посмотреть сообщение
s=phones.items[i].CAPTION.SubString(0,editFind.Text.Lengt h()).UpperCase();
где-то так при этом
phones.items[i].CAPTION и editFind.Text типа String


хотя в твоем случае код
s:=Ansiuppercase(system.Copy(phones.item s[i].CAPTION,0,length(editFind.Text)));
if Ansiuppercase(EditFind.text)=s then begin
лучше написать так:
s:=phones.items[i].CAPTION.SubString(0,length(editFind.Tex t));
if(EditFind.text.AnsiCompare(s)==0)
все это так и осталось в паскале.

Добавлено через 4 минуты
C++
1
ShortString s;
- это что ?
C++
1
AnsiString s;
0
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
17.03.2011, 13:55  [ТС]
Сижу окола 30 минут переписываю по разному... Оно постоянно первую строку в ListView выделяет
Хотя искомое имя находиться в третей строке.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.03.2011, 13:57
Цитата Сообщение от Nouko Посмотреть сообщение
Сижу окола 30 минут...
- это ваша обсебятина, я спрашивал:
без ошибок и предупреждений ?
0
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
17.03.2011, 14:55  [ТС]
Без ошибок и предупреждений. Запускается и при вводе слова в Edit1 выделяет первую строку в ListView

Добавлено через 39 минут
Всем спасибо за советы.
Рабочий поиск:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
  
int i;
AnsiString s;
 
for (i=0; i < ListView1->Items->Count-1; i++){
    s = ListView1->Items->Item[i]->Caption;
    if ((Edit1->Text).Pos(s)> 0){
      ListView1->Items->Item[i]->Selected=true;
      ListView1->ItemIndex=i;
      ListView1->ItemFocused=ListView1->Items->Item[i];
      break;
    }
    }
Добавлено через 17 минут
C++
1
for (i=0; i < ListView1->Items->Count; i++){
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru