Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/26: Рейтинг темы: голосов - 26, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 26

Реализовать функции VB по работе со строками: Left, Mid, Right

20.06.2012, 14:41. Показов 5415. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В некоторых компьютерных языках, таких, как Visual Basic, есть опера-
ции, с помощью которых можно выделить часть строки и присвоить ее
другой строке. (В стандартном классе string предложены различные
подходы.) Используя наследование, добавьте такую возможность в
класс Pstring, который можно сделать производным от приведенного
ниже класса MyString. В новом производном классе Pstring2 разместите
три новых функции Left(), Mid() и Right():
s2.left ( sl, n ) //в строку s2 помещаются п
самых левых символов строки sl
s2.mid (sl, s, n ) // в строку s2 помещаются n
символов из строки, начиная с символа номер s
s2.right ( sl, n ) //в строку s2 помещаются n
самых правых символов строки sl
Вы можете использовать цикл for для копирования символ за
символом подходящих частей строки sl во временный объект класса
Pstring2, который затем их возвратит. Для получения лучшего
результата используйте в этих функциях возврат по ссылке, чтобы они
могли быть использованы с левой стороны знака «равно» для
изменения части существующей строки.
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
using System;
namespace strConv
{
       public class MyString
       {
            readonly int SZ=80;
            protected char[] str;
            public MyString()
            {
                  str = new char[SZ];
                  str[0]='\x0';
            }
            public MyString(string s)
            {
                  str = new char[SZ];
                  int len = s.Length;
                  for (int i=0;i<len; i++)
                  {
                        str[i]=s[i];
                  }
                  str[len]='\x0';
             }
             public void display()
            {
                  string s="";
                  for (int i=0;str[i]!='\x0'; i++)
                 {
                      s+=str[i];
                 }
                 Console.Write(" "+s);
               }
       }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.06.2012, 14:41
Ответы с готовыми решениями:

Right, Left, Mid функции
Как в VB.NET из строки справа взять 8 символов? Функцию Mid я нашел а вот Right или Left там вообще нет.

Функции Left, Right, Mid выдают ошибку
Всем привет. Подскажите пожалуйста. Я пишу макросы в Excel-е, так вот функция Left у меня работает а при использовании функций Right и...

VBA не понимает свои же функции: ROUND, LEFT, MID
На одних компах всё работает нормально, а на других компилятор ругается на такие функции, как ROUND, LEFT, MID. Может кто знает, где это...

6
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
20.06.2012, 15:01
C#
1
2
3
4
5
6
public class Pstring2 : MyString
{
    public void Left() {}
    public void Mid() {}
    Public void Righth() {}
}
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
20.06.2012, 15:12
есть мнение что не заработает
0
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
20.06.2012, 15:22
Цитата Сообщение от Tessen Посмотреть сообщение
есть мнение что не заработает
ну да!
Класс наследуется от Mystrting, методы есть, а дальше и сами могут...
0
0 / 0 / 0
Регистрация: 15.04.2012
Сообщений: 26
20.06.2012, 15:57  [ТС]
ребят)) спасибо))) но ничего не могут пока к сожалению... можно подробнее)
0
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
21.06.2012, 13:29
Цитата Сообщение от sahka_sanya Посмотреть сообщение
Вы можете использовать цикл for для копирования символ за
символом подходящих частей строки sl во временный объект класса
Pstring2, который затем их возвратит.
Можно намного проще, ведь экземпляры типа string имеют прекрасный метод SubString(), который возвращает подстроку из выбранной строки и имеет несколько перегрузок.
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
class MyString
    { }
 
    class Pstring2 : MyString
{
    public static void Left(string s1, string s2, int ns2) 
    {
        try { Console.WriteLine("{0}", s1 = s2.Substring(0, ns2)); }
 
        catch { Console.WriteLine("Ошибка метода Left()."); }
    }
 
    public static void Mid(string s1, string s2, int ns1, int ns2)
    {
        try { Console.WriteLine("{0}", s1 = s2.Substring(ns1, ns2)); }
 
        catch { Console.WriteLine("Ошибка метода Mid()."); }
    }
 
    public static void Righ(string s1, string s2, int ns2) 
    {
        try { Console.WriteLine("{0}", s1 = s2.Substring(s2.Length - ns2, ns2)); }
 
        catch { Console.WriteLine("Ошибка метода Righ()."); }
    }
}
    class Program 
    {
        static void Main(string[] args)
        {
            string first = "first()";
            string second = "second()";
 
            Console.WriteLine("word :{0}", second);
            
            Pstring2.Left(first, second, 4);
            Pstring2.Mid(first, second, 1, 3);
            Pstring2.Righ(first, second, 1);
            
            Console.ReadKey();
         }
    }
0
101 / 101 / 12
Регистрация: 21.11.2011
Сообщений: 169
21.06.2012, 15:09
Цитата Сообщение от buntar Посмотреть сообщение
Можно намного проще...
А как же
Цитата Сообщение от sahka_sanya Посмотреть сообщение
используйте в этих функциях возврат по ссылке, чтобы они
могли быть использованы с левой стороны знака «равно» для
изменения части существующей строки
?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.06.2012, 15:09
Помогаю со студенческими работами здесь

Пободные функции:Left$, Mid$, Right$, Hex, Val, RGB
Подскажите подобные функции в VC++: 1. Left$ 2. Mid$ 3. Right$ 4. Hex 5. Val 6. RGB

не работает left,right,mid. что делать?
пример: y = &quot;kfjhsdkfhskhfksdhfshfjhsdkjhfshfkjhsdjfhsjkhfkshkfdjhsdkfsdfhskdhfkjs&quot; str1 = Left(y, 10) Text1.Text = str1 ...

Составить из слова "Электрификация" 10 других слов при помощи операторов MID, LEFT, RIGHT
Нужно составить из слова Электрификация 10 других слов при помощи операторов MID,LEFT,RIGHT я не могу составить программу!...

Получить из слова приватизация слово стандартизация используя процедуры и функции при работе со строками
Получить из слова приватизация слово стандартизация используя процедуры и функции при работе со строками (не менее 3)

почему сегодня mid("01",2,1)>11=False а mid("01",2,1)>day(date())=True? ;-)))
загадка


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru