• XSS.stack #1 – первый литературный журнал от юзеров форума

Язык D

Пожалуйста, обратите внимание, что пользователь заблокирован
Товарищи, а есть функция в винапи с помощью которой можно получить строку из строкового указателя?
Строковый указатель это и есть строка в Цэ, строки в Дэ не имеют никакого отношения к WinAPI.
 
Строковый указатель это и есть строка в Цэ, строки в Дэ не имеют никакого отношения к WinAPI.
Да это понятно. Строковый указатель указывает на начало строки и когда я через WriteConsole вывожу его, понятное дело у меня показывается лишь первый символ.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Строковый указатель указывает на начало строки и когда я через WriteConsole вывожу его, понятное дело у меня показывается лишь первый символ.
Показывай код, или нужно на кофейной гущи гадать? Ты либо пихаешь wchar указатель в WriteConsoleA, либо указываешь в количестве символов 1.

Насчет строк в D. Вообще не понял приколу. Если используешь винапи, то они не нужны, так как функции везде требуют тип wchar/char
Не нужны, более того нужны нуль-терминированные массивы символов.
 
Товарисщи, ООП в дэ это прекрасно. Это же революция! Это ре-во-лю-ция! Си не нужен больше. Дэ это отличный продолжатель своего СИшного отца и отличный заменитель. Кто хочет страдать с процедурным кодом дальше, ну и ладно, оставайтесь в СИ. А те кто кайфует от ооп, всех прошу бросить цэ и перейти на Дэ во благо нашего прекрасного языка по имени Дэ.
 
Сначала я влюбился в JavaScript. Сейчас я влюбился в D.
А завтра кто нибудь полюбит тебя, и возрадуется =) Ты плохое место нашел для изучения языков, и вообще плохое место для парня которому нет и 15 лет.
 
А завтра кто нибудь полюбит тебя, и возрадуется =) Ты плохое место нашел для изучения языков, и вообще плохое место для парня которому нет и 15 лет.
Почему?
 
Почему?
Потому что это не форум программистов энтузиастов, а тебе надо живое общение именно с такими, желательно твоего возраста, нормальное живое общение пацанов с горящими глазами и энтузиазмом, которые объеденяются и пытаются че то делать вместе, устраивают стартапы, просто заводят знакомства. На этом форуме у тебя ничего такого не будет. Всему свое место. А у тебя возраст такой что надо комуницировать с сверстниками, будешь зависать тут, просрешь софт скиллы и друзей.
 
И забудь про вин апи, оно тебе нах ненадо, просто научись кодить. Бери шарп и пили с пацанами платформер на юньке. Учись делать проекты а не скакать за крутизной. Круто это релизы которые кому то зашли, а не вин апи и прочая дребедень.
 
И забудь про вин апи, оно тебе нах ненадо, просто научись кодить. Бери шарп и пили с пацанами платформер на юньке. Учись делать проекты а не скакать за крутизной. Круто это релизы которые кому то зашли, а не вин апи и прочая дребедень.
Дяденька, просто во первых мне нравится возится в низкоуровневом. Во вторых, я не люблю сверстников и всякие популярные форумы где они общаются. Я не люблю тенденции которыми они идут. Куда? Питон для десктопа? Не смешите мои копыта. Ладно си шарп, с этим я ещё согласен, но питон карл!? А ещё они общаются между собой тупо: "лол кек ку кринж рофл". Кажется, я попал в мир из фильма "Идиократия". А мне тут нравится, вон Яшечка очень нравится мне, ну и Квейк даже несмотря на то что он ооп недолюбливает. Но а на самом первом месте конечно же это Яша. Он и как человек добрый и как программист что надо. Пример с него пытаюсь брать. А то что я недавно говорил то что винапи это скучно - это ложь. Скучно это было потому что я пробовал на цэ это дело. А щас опробовал на нормальном оопешном языке Дэ и пошло поехало, как на ионе.
 
Еще важное - ребенок это не то же самое что и взрослый маленького роста. У тебя сейчас активно развивается мозг, вырастают структуры которых раньше у тебя не было, происходят переоценки ценностей, меняется понимание мира твоего в нем места, если сейчас упрешся в кодинг без нормального активно общения, без того что бы действовать в комманде, дальше тебе будет крайне сложно жить. Иначе однажды глянешь в зеркало и у видишь пузатого чувака который с 12 лет общался с компом, просрал зеркальные нейроны, и нормальное социальное развитие, зато кодерского опыта у него просто завались, ты же не хочешь быть таким =) Ищи короче молодые команды, пили с ними что то интересное, не упирайся в частности, апи или не апи, все кто в своем уме юзают фрейм ворки.
 
Иначе однажды глянешь в зеркало и у видишь пузатого чувака который с 12 лет общался с компом, просрал зеркальные нейроны, и нормальное социальное развитие, зато кодерского опыта у него просто завались, ты же не хочешь быть таким =)
Я не только с компьютером общаюсь, я ещё в свободное время занимаюсь спортом самостоятельно. Так что если и посмотрю на себя в зеркало через 12 лет, то там будет статный гигачэд с большим мозгом. И мозг и тело прокачивать надо. Таков закон диалектического развития.
 
Я не только с компьютером общаюсь, я ещё в свободное время занимаюсь спортом самостоятельно. Так что если и посмотрю на себя в зеркало через 12 лет, то там будет статный гигачэд с большим мозгом. И мозг и тело прокачивать надо. Таков закон диалектического развития.
Разные этапы развития требуют разной прокачки. Но тебя предупредили, то что упустишь сейчас потом будет не наверстать. Не неучишся сейчас рабоать в команде потом с этим будет беда, команду ты здесь себе не найдешь.
 
Разные этапы развития требуют разной прокачки. Но тебя предупредили, то что упустишь сейчас потом будет не наверстать. Не неучишся сейчас рабоать в команде потом с этим будет беда, команду ты здесь себе не найдешь.
Соглашусь с этим. Спасибо.
 
Сначала я влюбился в JavaScript. Сейчас я влюбился в D.
mshUSzxlwBPnJbL_W4dI2n6nBlmrsklWKrkXg5HWI8RAPMNTK3UJrDWxvcDlOE_cVlg1P2ov8WBucU0ja5DslvxL.jpg


Дяденька, просто во первых мне нравится возится в низкоуровневом. Во вторых, я не люблю сверстников и всякие популярные форумы где они общаются. Я не люблю тенденции которыми они идут. Куда? Питон для десктопа? Не смешите мои копыта. Ладно си шарп, с этим я ещё согласен, но питон карл!? А ещё они общаются между собой тупо: "лол кек ку кринж рофл". Кажется, я попал в мир из фильма "Идиократия". А мне тут нравится, вон Яшечка очень нравится мне, ну и Квейк даже несмотря на то что он ооп недолюбливает. Но а на самом первом месте конечно же это Яша. Он и как человек добрый и как программист что надо. Пример с него пытаюсь брать. А то что я недавно говорил то что винапи это скучно - это ложь. Скучно это было потому что я пробовал на цэ это дело. А щас опробовал на нормальном оопешном языке Дэ и пошло поехало, как на ионе.
Так и знал что малварекодеры не такие как все!
 
C:
module _console;

import core.vararg;
import std.stdio;
import std.string;
import std.utf: toUTF16z;
import core.sys.windows.windows;

class Console {
    public:
        HANDLE hIn;
        HANDLE hOut;
    
    this(HANDLE hIn, HANDLE hOut) {
        this.hIn = hIn;
        this.hOut = hOut;
    }

    public:
        void log(...) {
            for (int i = 0; i < _arguments.length; i++) {
                if (_arguments[i] == typeid(string)) {
                    string arg = va_arg!(string)(_argptr);
                    WriteConsoleW(this.hOut, arg.toUTF16z, lstrlenW(arg.toUTF16z), NULL, NULL);
                } else if (_arguments[i] == typeid(wchar[])) {
                    wchar[] arg = va_arg!(wchar[])(_argptr);
                    WriteConsoleW(this.hOut, cast(wchar*)arg, lstrlenW(cast(wchar*)arg), NULL, NULL);
                } else if (_arguments[i] == typeid(char[])) {
                    char[] arg = va_arg!(char[])(_argptr);
                    WriteConsoleA(this.hOut, cast(char*)arg, lstrlenA(cast(char*)arg), NULL, NULL);
                } else if (_arguments[i] == typeid(int) || _arguments[i] == typeid(DWORD)) {
                    int arg = va_arg!(int)(_argptr);
                    wchar[100] formatted;
                    wsprintfW(cast(wchar*)formatted, "%d", arg);
                    WriteConsoleW(this.hOut, cast(wchar*)formatted, lstrlenW(cast(wchar*)formatted), NULL, NULL);
                } else if (_arguments[i] == typeid(wchar*)) {
                    wchar *arg = va_arg!(wchar*)(_argptr);
                    WriteConsoleW(this.hOut, arg, lstrlenW(arg), NULL, NULL);
                }
            }
        }
}

Все просто и понятно. На процедурном языке если такое и напишешь, то глаза будут страдать.
ООП в дэ простое и идеальное. Ничего лишнего. Классические классы, интерфейсы, модульность. То что не хватало для идеального СИ. Единственное не пойму, как мне в классе отменить наложение делегирования при обращении к функции. Но думаю найду способ. А пока приходится винапи функции делать статическими. А вишенка на торте, это деструктор классов.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Typeid с -betterC работает? Потому, что мне кажется, что не должен работать. А если не -betterC, то использовать WriteConsole вместо стандартного writeln смысла не имеет.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх