Перевод string в word

AndreWwWwwW

3 / 3 / 0

Регистрация: 15.09.2018

Сообщений: 78

1

01.03.2019, 18:16. Показов 4863. Ответов 9

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Как преобразовать string в byte в этой строчке:
dolgn.prof.stag:=Edit5.Text;
//dolgn.prof.stag — тип byte, а Edit5.Text — тип string
и
Как преобразовать string в word в этих строчках:
dolgn.prof.doxod.osn:=Edit7.Text;
dolgn.prof.doxod.premiya:=Edit8.Text;
//dolgn.prof.doxod.osn и dolgn.prof.doxod.premiya — типа байт, а Edit7.Text и Edit8.Text — тип string

Помогите с этими преобразрваниями типов пожалуйста.
Вот исходный код процедуры:

Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
Var slug: tSlug;
    i:integer;
    o: word;
    p: word;
  begin
  //  o:=integer(Edit6.Text);
   // p:=integer(Edit7.Text);
    With slug do
    begin
     namfam:=Edit1.Text;
     for i:=0 to ComboBox1.Items.Count-1 do begin
     if (ComboBox1.ItemIndex = i) then
     date:=StrToInt(ComboBox1.Items.Strings[i]);
     end;
     Case RadioGroup1.ItemIndex Of
          0:sex:=man;
          1:sex:=woman;
     end;
    // dolgn:=Edit2.Text;
    // dolgn.prof:=Edit3.Text;
     dolgn.prof.name:=Edit4.Text;
     dolgn.prof.stag:=Edit5.Text;
   //  dolgn.prof.doxod:=Edit6.Text;
     dolgn.prof.doxod.osn:=Edit7.Text;
     dolgn.prof.doxod.premiya:=Edit8.Text;
    // dolgn.prof.doxod.nalog:=(o + p)*0.13;
     dolgn.telef:=StrToInt(Edit10.Text);
     end;
     Write(f,slug);
     CloseFile(f);
    end;



0



Puporev

Почетный модератор

64279 / 47578 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

01.03.2019, 18:55

2

Pascal
1
dolgn.prof.stag:=strtoint(Edit5.Text);



0



3 / 3 / 0

Регистрация: 15.09.2018

Сообщений: 78

01.03.2019, 19:11

 [ТС]

3

А string в word как перевести?



0



Почетный модератор

64279 / 47578 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

01.03.2019, 19:15

4

Да что в byte, что в word, что в integer, какая разница?



0



3 / 3 / 0

Регистрация: 15.09.2018

Сообщений: 78

01.03.2019, 19:47

 [ТС]

5

Т.е. встроенная функция StrToInt(); подойдет?



0



Почетный модератор

64279 / 47578 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

01.03.2019, 19:48

6

Так загляни в справку, или так и собираешься все спрашивать.



0



3 / 3 / 0

Регистрация: 15.09.2018

Сообщений: 78

01.03.2019, 19:58

 [ТС]

7

Скиньте тогда пожалуйста ссылку на то о чем вы говорите



0



Модератор

8382 / 5583 / 2275

Регистрация: 21.01.2014

Сообщений: 23,964

Записей в блоге: 3

01.03.2019, 20:11

8

byte, integer, word — это все целочисленные типы данных, различаются они только диапазоном значений. Это испокон веку так, идет еще с TurboPascal 1 и написано это на первых страницах любого учебника!



0



Почетный модератор

64279 / 47578 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

01.03.2019, 20:13

9

Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение



0



3 / 3 / 0

Регистрация: 15.09.2018

Сообщений: 78

01.03.2019, 23:05

 [ТС]

10

Спс



0



I have a class as

class dictonary
{
  public string English{get;set;}
  public string Hindi{get;set;}
}

Here i have a list of class dictionary as List<dictionary> having meaning in English and Hindi.
I want function as

public string EngToHindi(string English)
{
   private string hindi="";
   //nepali = english =>Logic goes here
   return hindi;
}

If I pass string like "My Name Is Manoj."
then it must return "Mera Naam hai Manoj"

List<dictionary> I have data data as

   English   Hindi
---------------------
    my        mera
    is        hai
    Name     naam

Ehsan88's user avatar

Ehsan88

3,4165 gold badges28 silver badges51 bronze badges

asked Aug 16, 2013 at 11:39

manoj's user avatar

6

use Dictionary class. it works perfect. this is the complete program you can use. it’s easy and it will define the whole line!! happy coding! ;)

class Program
{
    private static Dictionary<string, string> myDictionary;
    static void Main(string[] args)
    {
        // initialize your dictionary
        myDictionary = new Dictionary<string, string>(); 

        // fill the dictionary
        // you should fill if from file or database or something!
        myDictionary.Add("my", "mera");
        myDictionary.Add("is", "hai");
        myDictionary.Add("name", "naam");

        // the line you want to define in english:
        string line = "my name is Shamim";

        // output defined line in hindi:
        string output = EngLineToHindi(line);
        Console.WriteLine(output);
        Console.ReadKey();
    }
    static string EngLineToHindi(string line)
    {
        // array of words:
        string[] words = line.Split(' ');
        string ToReturn = "";
        foreach (string word in words)
        {
            string temp = EngToHindi(word) + " ";
            ToReturn += temp;
        }
        return ToReturn;
    }
    static string EngToHindi(string EngWord)
    {
        string key1 = EngWord;
        // if not has the meaning return the same word!
        if (!myDictionary.ContainsKey(key1)) return EngWord;
        else return myDictionary[key1];
    }
}

answered Aug 16, 2013 at 12:10

Shamim's user avatar

ShamimShamim

4344 silver badges11 bronze badges

1

Here is something that might work…

Dictionary<string, string> EnglishHindiTranslations = null;

public void Populate()
{
    EnglishHindiTranslations = new Dictionary<string, string>();
    EnglishHindiTranslations.Add("my","mera");
    EnglishHindiTranslations.Add("is","hai");
    EnglishHindiTranslations.Add("Name","naam");
}

public string TranslateHindiToEnglish(string hindiWord)
{
    string value = EnglishHindiTranslations.FirstOrDefault(x => x.Value == hindiWord).Key;

    if(string.IsNullOrEmpty(value))
    {
         return hindiWord;
    }

    return value;
 }

public string TranslateEnglishToHindi(string englishWord)
{
    string value = EnglishHindiTranslations.FirstOrDefault(x => x.Key == englishWord).Value;

    if(string.IsNullOrEmpty(value))
    {
         return englishWord;
    }

    return value;
}

answered Aug 16, 2013 at 12:08

Squirrel5853's user avatar

Squirrel5853Squirrel5853

2,3761 gold badge18 silver badges33 bronze badges

В файле лежат Virtual-Key Codes. Данный хранятся в JSON. Для десериализации JSON использую rapidjson.
В проекте есть функция:

void PressButton(list<WORD> wVkArray)
{
    INPUT ip;
    ip.type = INPUT_KEYBOARD;
    ip.ki.wScan = 0;
    ip.ki.time = 0;
    ip.ki.dwExtraInfo = 0;

    for (auto &wVk : wVkArray)
    {
        ip.ki.wVk = wVk;
        ip.ki.dwFlags = 0;
        SendInput(1, &ip, sizeof(INPUT));
    }

    for (auto &wVk : wVkArray)
    {
        ip.ki.wVk = wVk;
        ip.ki.dwFlags = KEYEVENTF_KEYUP;
        SendInput(1, &ip, sizeof(INPUT));
    }
}

В проекте полученные Virtual-Key Codes хранятся в String.

Вопрос: как скастить String в WORD для передачи Virtual-Key Codes в параметры функции?

задан 19 авг 2018 в 16:51

Llirik 21's user avatar

WORD это unsigned short. Поэтому мне необходимо было конвертировать String в unsigned short.

unsigned short StringToShort(std::string str)
{
    unsigned short x;
    std::stringstream ss;
    ss << std::hex << str;
    ss >> x;
    return x;
}

ответ дан 19 авг 2018 в 18:02

Llirik 21's user avatar

Вам надо рассматривать строку как набор слов — в этом случае алгоритм очень прост:

  1. если в строке нет слов — вернуть пустой список в качестве результата;
  2. отделить первое слово от строки. Остальную часть строки — обработать рекурсивно, к результату добавить первое слово.

Отсутствие в строке слов не означает, что строка пуста — с ней могут содержаться пробелы, однако, от такой строки не получиться отделить слово. Таким образом, функция пытается удалить отделить слово, а если что-то пошло не так — вернет пустой список:

string_to_words(String, [Word|ListTail]):-
  get_word(String, Word, StringTail), !, 
  string_to_words(StringTail, ListTail).
string_to_words(_String, []).

Функция получения первого слова должна учитывать, что в начале строки могут содержаться пробелы и удалять их, кроме того, именно в нее целесообразно поместить проверку отсутствия слов в строке:

get_word(String, Word, StringTail):-
  rem_init_spaces(String, StringWithoutInitSpaces),
  StringWithoutInitSpaces = "",
  get_ExistWord(StringWithoutInitSpaces, Word, StringTail).

Функция удаляет из строки начальные пробелы, проверяет что полученная в результате строка не пуста (в ней есть слова) и вызывает функцию get_ExistWord, которая вернет первое слово.

Функция удаления начальных пробелов использует стандартный предикат is_space для проверки того, является ли символ пробельным (в т.ч. табуляцией, переводом строки и т.п.), при необходимости его можно заменить на собственную функцию:

rem_init_spaces([Char|TailStr], StringWithoutInitSpaces):-
  is_space(Char), !, 
  rem_init_spaces(TailStr, StringWithoutInitSpaces).
rem_init_spaces(String, String):-!.

Если первый символ строки — пробел, функция вернет результат рекурсивного вызова для остальной части строки, а в противном случае — исходную строку.

Функция выделения первого слова должна завершать вычисления если на вход подана пустая строка или первый символ является пробельным. В остальных случаях она отделяет первый символ строки (он будет первым символом слова) и рекурсивно вычисляет остальные символы слова:

get_ExistWord("", "", ""):- !.
get_ExistWord([Char|StringTail], "", StringTail):-
  is_space(Char), !.
get_ExistWord([Char|StringTail], [Char|WordTail], StringWithoutWord):-
  get_ExistWord(StringTail, WordTail, StringWithoutWord).

TekVanDo

<?
echo(str_replace(",","", "word1, word2, word3"));
?>


Комментировать

lomadurov

Так проще:

$string = "word1, word2, word3";
$arr = explode(", ", $string);

// Собрать обратно
$res = '';
foreach($arr as $tag) {
   $res .= "$tag";
}


Комментировать

miraage

<?php
echo preg_replace('/[^a-z0-9]/', '', 'word1, word2, word3');
?>


Комментировать

jakulov

как-то так, видимо

$links = array_map(function($word) {
  return '<a href="/tags/'. $word .'">'. $word .'</a>';
}, explode(', ', $string));

будет массив со ссылками.
Можно потом еще сделать в строку их:
$links = join(' ', $links);


Комментировать

Понравилась статья? Поделить с друзьями:
  • Перевод spread the word about
  • Перевод rtf в word онлайн
  • Перевод read the word combinations out loud перевод
  • Перевод read the word combination
  • Перевод read and correct the word in bold