21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 643
1

Вынести часть кода в функцию

17.02.2015, 17:01. Показов 556. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Есть несколько StringGrid и есть код по считыванию , к примеру, из строки StringGrid1, сортировке его ячеек с последующей записью в переменную String и копирования в строку StringGrid2
C++
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
49
50
51
52
53
54
55
56
57
58
for (int ii = 10; ii < 30; ii++) 
                {
                   StringGrid2->ColWidths[ii] =0;
                }
    StringGrid2->ColWidths[9] =300;
    int s2 = StringGrid2->FixedRows+1;
    int r2 = StringGrid2->FixedRows+1;
    int n2 = StringGrid2->FixedRows+1;
    int nn2=1;
    for(int i = StringGrid1->FixedRows; i < StringGrid1->RowCount; i++)
        {
            int i1;
            String s= "";
            String st1= "";
            String st2= "";
            if(StringGrid1->Rows[i+1]->Text.Pos("-"))
                 {
                    for (int i1 = 24; i1 >8; i1--)
                        {
                            st1 += StringGrid1->Cells[i1][i];
                        }
                    for (int i1 = 24; i1 >8; i1--)
                        {
                            st2 += StringGrid1->Cells[i1][i+1];
                        }
                 }
                    else
                 {
                    for (int i1 = 24; i1 >8; i1--)
                        {
                            st1 += StringGrid1->Cells[i1][i];
                        }
 
                 }
            s += st1;
            s += st2;
            String result = " ";
            String lc = s.LowerCase(), uc = s.UpperCase();
            for (int i = 1; i <= s.Length();)
                {
                    while
                        (i <= s.Length() && uc[i] == s[i] && lc[i] == s[i] && !isspace(s[i])&& !isdigit(s[i]))
                        result += s[i++];
                        String sub = " ";
                    while
                        (i <= s.Length() && (uc[i] != s[i] || lc[i] != s[i] || isdigit(s[i]) || isspace(s[i])))
                        sub += s[i++];
                        result += ReverseString(sub);
                }
//------------------------------------------------------------------------------
                            StringGrid1->Objects[0][i] = (TObject*)0x7AA0FF;
                            StringGrid1->Objects[1][i] = (TObject*)0x0000FF;
                    StringGrid2->Rows[s2++]= StringGrid1->Rows[i];
                    StringGrid2->Cells[9][r2++] = result;
                    StringGrid2->Cells[0][n2++] = nn2++;
        }
    StringGrid2->RowCount = s2;
    StringGrid2->Row = StringGrid2->RowCount - 1;
В программе нужно многократно проделывать данную операцию по условиям. Везде это вставлять наверное не совсем правильно. Возможно создать функцию и обращаться к ней по мере необходимости? Помогите, плиз, разобраться. Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2015, 17:01
Ответы с готовыми решениями:

Вынести часть кода в функцию
Есть вот такой вот участок кода.Помогите пожалуйста сделать функцию(там где написано функ) for(...

Вынести основную часть кода кода в отдельную функцию
помогите пожалуйста переделать это на функцию... #include &lt;locale.h&gt; #include &lt;conio.h&gt; int...

Вынести часть кода в функцию
Скажите пожалуйста как сделать нахождение основных значений через функцию RESHENIE(), а ввод данных...

Транспонирование матриц. Вынести часть кода в отдельную функцию
/* транспонировать матрицу, используя функции. я матрицу транспонировал, а через функцию не знаю...

3
Диссидент
Эксперт C
27367 / 17085 / 3772
Регистрация: 24.12.2010
Сообщений: 38,476
17.02.2015, 17:40 2
Цитата Сообщение от Sergey_03 Посмотреть сообщение
Возможно создать функцию и обращаться к ней по мере необходимости?
Что мешает? Создаете функцию (метод) этого класса, помещаете его код в любой CPP проекта, в соответствующем unitN.h прописываешь прототип метода как public или private (там даже место специально обозначено для этого).
Или я не понял вопроса?
1
21 / 9 / 4
Регистрация: 15.12.2014
Сообщений: 643
17.02.2015, 17:48  [ТС] 3
Все правильно, только я хотел это сделать правильно. Мешает не знание вопроса создания функций. Гуглю - не совсем понимаю, как потом брать аргументы и обрабатывать возвраты. Я так понимаю, это не очень сложно. Если можно, пару строк организации функции, обращения к ней и обработка возвращаемого значения. Спасибо!
0
Диссидент
Эксперт C
27367 / 17085 / 3772
Регистрация: 24.12.2010
Сообщений: 38,476
17.02.2015, 18:08 4
Цитата Сообщение от Sergey_03 Посмотреть сообщение
Если можно, пару строк организации функции, обращения к ней и обработка возвращаемого значения
Понимаете, мне сложно тут дать совет. Эта ваша функция, вы, в отличии от меня, знаете, что она делает, где и как используется, нужно ли ей что-то возвращать и прочее. Попробуйте сами. Если что-то не будет получаться, вот тогда выкладывайте код, ошибки. Только код всей функции мне (и другим, кто попытается вам помочь) не нужен. Нужно начало функции, возврат, обращение к ней, прототип, в общем, проблемные места...

Добавлено через 2 минуты
Да. Если транслятору что-то не понравится в вашем коде, постарайтесь сами разобраться, что именно. Он иногда дает вполне внятную диагностику.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2015, 18:08
Помогаю со студенческими работами здесь

Вынести часть кода работы с бинарным файлом в отдельную функцию
Хочу написать функцию:void case_ofstream(); в case 1. Как она должна выглядеть? ...

Вынести часть кода в отдельный файл
Ситуация следующая: Есть три php файла. index.php (страница с формой), verification.php...

Вынести часть кода в отдельный файл
Есть не большой сайтик. Cобран из html страниц и один банер в верху. Если изменять банер - нужно...

Как вынести часть кода в процедуру?
Вот код программы, как выделенное вынести в процедуру? program privet; label 1; var...

Вынести часть кода в другой файл проекта
Можно как то код поместить в отдельный файл, и как потом к нему обратится? Например, есть...

Как правильно вынести мультипроцессорную часть кода?
У меня имеется примерно следующий каркас кода, который имеет класс myclass в котором осуществляется...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru