HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 27.10.2009, 22:42
lisenok21
Новичок
Регистрация: 23.08.2009
Сообщений: 4
С нами: 8798718

Репутация: 0
По умолчанию

подскажите
может у кого есть ссылка где взять ретривер для вконтакте
 
Ответить с цитированием

  #2  
Старый 28.10.2009, 01:13
Nick_Rimer
Новичок
Регистрация: 12.05.2008
Сообщений: 19
С нами: 9472418

Репутация: 2
По умолчанию

Здравствуйте!
Помогите пожалуйста для моего случая найти какую-то альтернативу для case или подскажите, что я должен сделать с ним, чтобы эта зараза работала. Видите ли ему нужны ordinal types, то есть проверить, равна ли переменная числу мы можем, а вот проверить равность какой-то строке не получается, тут только многострочным if..else приходится..

Хотя, все несколько проще. На функцию пришла строка в виде одного символа или буквы.. Надо определить, чему она там равна и вывести результат; на каждый символ результат разный.

Например:

---------------
function TForm1.ABC(c:string):string;
begin
case с of
'A': begin .. end;
'B': begin .. end;
...
'Z': begin .. end;
end;
end;
------------

переход на pchar не получился, все равно где-нибудь ругается..
помогите, пожалуйста все поставить на места, мне ужасно лень набирать кучу ифов и их элсов.. но если надо, то придется..
 
Ответить с цитированием

  #3  
Старый 28.10.2009, 02:04
Chrome~
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
С нами: 9162683

Репутация: 175
По умолчанию

Может быть нужно записывать так:
Код:
case с[1] of
 
Ответить с цитированием

  #4  
Старый 28.10.2009, 02:13
StealthMaster
Познающий
Регистрация: 03.12.2008
Сообщений: 56
С нами: 9176827

Репутация: 29
По умолчанию

Цитата:
---------------
function TForm1.ABC(c:string):string;
begin
case с of
'A': begin .. end;
'B': begin .. end;
...
'Z': begin .. end;
end;
end;
------------
В вашем в коде (case с of) записана русская буква С, вместо английской C, поэтому, вероятно, и ругается даже при смене типов переменных.

Код, который будет работать:

Код:
function ABC(par: char): string;
begin
  case par of
    'A': begin
            Result := 'lalala';
         end;

    'B': begin
            Result := 'ololo';
         end;
  end; // case
end; // ABC
Если в качестве параметра функции передается только 1 символ, то логично использовать тип Char, нежели String.

Последний раз редактировалось StealthMaster; 28.10.2009 в 02:31..
 
Ответить с цитированием

  #5  
Старый 28.10.2009, 11:56
Nick_Rimer
Новичок
Регистрация: 12.05.2008
Сообщений: 19
С нами: 9472418

Репутация: 2
По умолчанию

Цитата:
В вашем в коде (case с of) записана русская буква С, вместо английской C, поэтому, вероятно, и ругается даже при смене типов переменных.
ну, знаете, я не настолько дурак, чтобы писать переменные в делфи по-русски

я тоже думал о том, чтобы передавать char, но ситуация такова, что я должен преобразовать тип string в тип char, а именно это у меня что-то не выходит..
 
Ответить с цитированием

  #6  
Старый 28.10.2009, 18:45
StealthMaster
Познающий
Регистрация: 03.12.2008
Сообщений: 56
С нами: 9176827

Репутация: 29
По умолчанию

Цитата:
я тоже думал о том, чтобы передавать char, но ситуация такова, что я должен преобразовать тип string в тип char, а именно это у меня что-то не выходит..
Используйте функцию, написанную выше, вызванную так:
Код:
...
var
  str1, str2: string;
  n: byte;
begin
  ... // вычисление нужной строки и номера нужного символа в строке (n)
  str2 := ABC(str1[n]);
  ...
end;
Цитата:
ну, знаете, я не настолько дурак, чтобы писать переменные в делфи по-русски
каждый может ошибиться мы же люди, а не машины.

Последний раз редактировалось StealthMaster; 28.10.2009 в 18:48..
 
Ответить с цитированием

  #7  
Старый 28.10.2009, 22:00
Nick_Rimer
Новичок
Регистрация: 12.05.2008
Сообщений: 19
С нами: 9472418

Репутация: 2
По умолчанию

А вот теперь мы возвращаемся к тому, с чего я начал!!!
Нельзя организовать оператор case перебором по string.
Он ругается, что ему нужен ordinal type.
Char бы подошел.. но я в тупике, и не могу понять, что делать, думать что-то вместо case или преобразовывать string во что-то другое, "более числовое"

------------------------

Все, вопрос снят, проблема решена!

str: string; с: char; i: byte - переменная цикла for;
c:=str[i];
ABC(c);

все работает

Последний раз редактировалось Nick_Rimer; 28.10.2009 в 22:51..
 
Ответить с цитированием

  #8  
Старый 29.10.2009, 18:11
[Abbath]
Познающий
Регистрация: 01.10.2009
Сообщений: 97
С нами: 8742253

Репутация: 26
По умолчанию

Значит такой вопросик :
есть Тмемо в который водят в столбик цифры от 4 до 9 знаков
внизу есть еще 6 Тмемо
Нужно чтоб эти цифры(которые в столбик)
сортировались в те 6 Тмемо
по такому принцыпу:
в 1Тмемо цифры из 4х знаков
в 2Тмемо цифры из 5 и тд до 9
вродебы реализовал а почемуто несортирует он их(

прошу помочь с реализацией в Делфи7
 
Ответить с цитированием

  #9  
Старый 29.10.2009, 18:23
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

Код:
var
 x : integer;
begin
 for x := 0 to memo1.Lines.Count-1 do
 begin
  case length(memo1.Lines.Strings[x]) of
    4:memo2.lines.add(memo1.Lines.Strings[x]);
    5:memo3.lines.add(memo1.Lines.Strings[x]);
    6:memo4.lines.add(memo1.Lines.Strings[x]);
    7:memo5.lines.add(memo1.Lines.Strings[x]);
    8:memo6.lines.add(memo1.Lines.Strings[x]);
    9:memo7.lines.add(memo1.Lines.Strings[x]);
  end;
 end;
end;
 
Ответить с цитированием

  #10  
Старый 29.10.2009, 18:29
[Abbath]
Познающий
Регистрация: 01.10.2009
Сообщений: 97
С нами: 8742253

Репутация: 26
По умолчанию

а где критерии что если длина 4 символа то в 4мемо и тд?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2569 10.05.2026 13:27
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.