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

StringGrid. Отделить буквы от цифр.

03.02.2012, 14:50. Показов 2262. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте. Есть таблица StringGrid. В одной колонке например 90а как отделить букву и записать ее в другой столбец.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.02.2012, 14:50
Ответы с готовыми решениями:

Слова которые состоят только из цифр преобразуются в сумму цифр этих слов и если слово содержит буквы и цифры то буквы в них заменяются на «*».
Вводится предложение в этом предложении слова которые состоят только из цифр преобразуются в сумму цифр этих слов и если слово содержит...

Поиск буквы среди цифр и вывод суммы цифр после буквы
Есть такое задание: написать предикат, который ищет букву в списке с подсписками(!) и выводит сумму цифр, которые расположены после буквы. ...

Отделить текст от цифр
Здравствуйте! Помогите разобраться! Дан фаил txt, в нем числа не разделены от букв пробелом, как считать численную часть и поместить...

5
 Аватар для Kabak
159 / 145 / 14
Регистрация: 03.02.2012
Сообщений: 788
Записей в блоге: 1
03.02.2012, 15:12
вероятно, проверять посимвольно строку символов из конкретной ячейки в StringGrid через функцию isdigit
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
03.02.2012, 15:14
- точно. Вот пример__
C++
1
2
3
4
5
6
     StringGrid1->Cells[1][1] = "78a90bc";
     AnsiString p="";
     for (int i=1;i<=StringGrid1->Cells[1][1].Length();i++)
       if (!isdigit(StringGrid1->Cells[1][1][i]))
         p += StringGrid1->Cells[1][1][i];
     StringGrid1->Cells[2][1] = p;
Миниатюры
StringGrid. Отделить буквы от цифр.  
0
3 / 3 / 0
Регистрация: 26.06.2011
Сообщений: 108
04.02.2012, 17:38  [ТС]
Спасибо за помощь. Все получилось. А вот как получить буквы из строки?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.02.2012, 18:10
C++
1
isalpha()
0
3 / 3 / 0
Регистрация: 26.06.2011
Сообщений: 108
04.02.2012, 19:22  [ТС]
Спасибо. Получилось еще и сделать на строне сервера.
Получил цифру
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE OR ALTER PROCEDURE EXTRACT_DIGITS (STRING VARCHAR(32))
RETURNS (DIGITS VARCHAR(32))
AS 
  DECLARE variable CH CHAR(1);
  DECLARE variable L INTEGER;
  DECLARE variable I INTEGER;
BEGIN
   digits = '';
   L = CHAR_LENGTH(string);
   I = 1;
   while (I <= L) do BEGIN
      CH = SUBSTRING(STRING FROM I FOR 1);
      IF (CH BETWEEN '0' AND '9') THEN
         DIGITS = DIGITS || CH;
      I = I + 1;
   END
  suspend;
END
Получаю букву при вставке в поле дом:
SQL
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
CREATE OR ALTER TRIGGER TR_SPR_ABON_BIU FOR SPR_ABON
ACTIVE BEFORE  INSERT OR UPDATE POSITION 0
AS
  DECLARE variable Tek_Simv CHAR(1);
  DECLARE variable LEN SMALLINT;
  DECLARE variable TekStr VARCHAR(5);
  DECLARE variable LENF INTEGER;
  DECLARE variable ch_d CHAR(1);
BEGIN
 
       /*делим РґРѕРјР°*/
        Tek_Simv=' '; LEN=1; ch_d='F'; TekStr=TRIM(NEW.DOM); LENF=CHAR_LENGTH(TekStr); 
        while (LEN <= LENF) DO
        BEGIN  
        Tek_Simv = SUBSTRING(TekStr FROM LEN FOR 1);    
        IF (Tek_Simv NOT IN ('0','1','2','3','4','5','6','7','8','9','/','\')) then 
        Begin
           if (ch_d='F') Then
           Begin
              NEW.DOM=SUBSTRING(TekStr FROM 1 FOR LEN-1); ch_d='T';    
           end 
        end
        if (Tek_Simv not in ('0','1','2','3','4','5','6','7','8','9',' ','-',':',';','/','\')) then 
            Begin
               NEW.DOM2=Tek_Simv;
            end                        
        LEN=LEN+1;      
        end
        /*делим квартиры*/
        Tek_Simv=' '; LEN=1; ch_d = 'F'; TekStr=TRIM(NEW.KB); LENF=char_length(TekStr); 
        while (LEN <= LENF) DO
        BEGIN  
           Tek_Simv = SUBSTRING(TekStr FROM LEN FOR 1);
           if (Tek_Simv not in ('0','1','2','3','4','5','6','7','8','9','/','\')) then
              Begin
               if (ch_d='F') Then
               Begin
                  New.KB=SUBSTRING(TekStr FROM 1 FOR LEN-1); ch_d='T';
               end                       
              end
              if (Tek_Simv not in ('0','1','2','3','4','5','6','7','8','9',' ','-',':',';','/','\')) then
                 Begin
                    NEW.KB2=Tek_Simv;
                 end    
           LEN=LEN+1;      
        end
 
end
Добавлено через 1 час 5 минут
Извините, если что не так. Спасибо еще раз за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.02.2012, 19:22
Помогаю со студенческими работами здесь

Отделить цифры от букв и найти сумму цифр
Есть массив,N размера.В массиве присутствуют буквы и цифры.Нужно отделить цифры от букв и найти сумму цифр: отделяем буквы от цифр: ...

Отделить буквы и цифры, сохранить в отдельных массивах, вывести на экран
Всем доброго времени суток!!!!))) Дан массив из прописных латинских букв и цифр. Отделить буквы и цифры, сохранить в отдельных массивах,...

Как преобразовать строку, удалив в ней группы цифр, а группы букв отделить пробелами. Упорядочить полученную последовательность слов
Дана текстовая строка, состоящая из букв и цифр. Преобразовать строку, удалив в ней группы цифр, а группы букв отделить пробелами....

StringGrid и проверка на буквы
Здравствуйте все.. У меня проблема. У меня задание: надо зделать таблицу, в таблице во третей колонке нигде не должны быть буквы.. я...

StringGrid можно вводить только буквы
помогите с кодом чтобы в StringGrid можно вводить только буквы. в events я создаю процедуру OnKeyPress так


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через 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-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru