Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2012, 17:29   #1
Jaga_89
 
Регистрация: 09.02.2012
Сообщений: 8
По умолчанию Свойство Lines поля Memo

Можно ли его использовать в операторе case?
Код:
L: array[1..100,1..100] of Tmemo;

for i:=1 to 100 do
    for f:=1 to 100 do
      begin
        for s1:=0 to 15 do
          case L[i,f].Lines[s1] of
            'точение черновое':           Np1:=0.69;
            'точение чистовое':           Np1:=0.69;
            'точение тонкое':             Np1:=0.73;
            'шлифование':                 Np1:=0.80;
            'полирование':                Np1:=0.80;
            'притирка':                   Np1:=0.92;
            
          end;
      end;
Пишет ошибку несовместимости типов: String и Integer.
Jaga_89 вне форума Ответить с цитированием
Старый 16.02.2012, 17:33   #2
D@rkArt
Пользователь
 
Аватар для D@rkArt
 
Регистрация: 14.02.2012
Сообщений: 38
По умолчанию

Что это за муть ты написал? поподробней давай. зачем 3 цикла?что прога делает?
весь текст проги напиши
помог-жми весы
D@rkArt вне форума Ответить с цитированием
Старый 16.02.2012, 17:37   #3
Jaga_89
 
Регистрация: 09.02.2012
Сообщений: 8
По умолчанию

Есть двумерный массив элементов Memo, в каждом из них хранится список (точение черновое, точение чистовое и т.д.).
Для каждого элемента списка(т.е. для каждой технологической операции) нужно определить себестоимость. Затем их сложить и получить себестоимость каждого списка.
Но суть в том, что не работает case..

Весь текст на нескольких модулях, а это будет отдельный модуль селекции полей Memo по себестоимости, пишу с нуля, в исходных данных только массив L.

Два цикла для того, чтобы перебирать элементы массива. Третий - чтобы перебирать элементы списка.

Последний раз редактировалось Jaga_89; 16.02.2012 в 17:41.
Jaga_89 вне форума Ответить с цитированием
Старый 16.02.2012, 17:40   #4
ViToTiV
 
Регистрация: 13.02.2007
Сообщений: 3
По умолчанию

для case нужен ordinal types:
Ordinal types are the predefined types Integer, Char, WideChar, Boolean, and declared enumerated types.

но ты можешь использовать индексы строк, например

Последний раз редактировалось ViToTiV; 16.02.2012 в 17:42.
ViToTiV вне форума Ответить с цитированием
Старый 16.02.2012, 17:40   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Стринговый тип с CASE не совместим. Но 10000 Memo это что-то
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 16.02.2012, 17:42   #6
D@rkArt
Пользователь
 
Аватар для D@rkArt
 
Регистрация: 14.02.2012
Сообщений: 38
По умолчанию

не пробовали сделать так L: array[1..100,1..100] of Tmemo=( 'точение черновое': Np1:=0.69;
'точение чистовое': Np1:=0.69;
'точение тонкое': Np1:=0.73;
'шлифование': Np1:=0.80;
'полирование': Np1:=0.80;
'притирка'
не знаю это сработает или нет попробуйте вместо memo написать string
помог-жми весы
D@rkArt вне форума Ответить с цитированием
Старый 16.02.2012, 17:52   #7
Jaga_89
 
Регистрация: 09.02.2012
Сообщений: 8
По умолчанию

D@rkArt, спасибо!
Jaga_89 вне форума Ответить с цитированием
Старый 16.02.2012, 18:08   #8
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Я не знаю как вы пришли к решению запихать всё это в мемо, но подход явно не тот, тут скорее надо решать с помощью БД.


2D@rkArt
Цитата:
Сообщение от D@rkArt Посмотреть сообщение
не пробовали сделать так L: array[1..100,1..100] of Tmemo=( 'точение черновое': Np1:=0.69;
'точение чистовое': Np1:=0.69;
'точение тонкое': Np1:=0.73;
'шлифование': Np1:=0.80;
'полирование': Np1:=0.80;
'притирка'
не знаю это сработает или нет попробуйте вместо memo написать string
шедеврально
vovk вне форума Ответить с цитированием
Старый 16.02.2012, 18:11   #9
D@rkArt
Пользователь
 
Аватар для D@rkArt
 
Регистрация: 14.02.2012
Сообщений: 38
По умолчанию

да,да,да знаю ступил с кем не бывает?
помог-жми весы
D@rkArt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с записью в файл (Memo.Lines.SaveToFile) RakNaGore Помощь студентам 3 11.07.2011 11:17
Неправильно работает свойство Memo.CaretPos Armorer Общие вопросы Delphi 9 24.05.2011 18:26
RichTextBox свойство Lines evgenrpo Общие вопросы .NET 3 23.06.2010 23:53
Можно ли программно установить свойство поля DisplayFormat ? М_Виктор БД в Delphi 4 12.01.2010 13:36
Вывод в memo.lines значения R:=random Алексей_xXx Помощь студентам 3 24.05.2009 11:26