Школоло / Говнокод #28215 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
// реализация интерфейса IArguments2 для самодельного скриптового движка, aka vbs to exe

unit Arguments;

interface

uses
  Windows, ComObj, ActiveX, Stub_TLB, SysUtils,WSHNamedArguments,WSHUnNamedArguments, CmdUtils;

type
  TIarguments=class(TAutoObject, IArguments2, IEnumVariant)
      FAArgs:array of WideString;
      FWSHNamedArguments:TIWSHNamedArguments;
      FWSHUnNamedArguments:TIWSHUnNamedArguments;
      function Item(Index: Integer): WideString; safecall;
    function Count: Integer; safecall;
    function Get_length: Integer; safecall;
    function _NewEnum: IUnknown; safecall;
    property length: Integer read Get_length;
        function Get_Named: IWSHNamedArguments; safecall;
    function Get_Unnamed: IWSHUnnamedArguments; safecall;
    procedure ShowUsage; safecall;
    property Named: IWSHNamedArguments read Get_Named;
    property Unnamed: IWSHUnnamedArguments read Get_Unnamed;
        function Next(celt: LongWord; var rgvar : OleVariant;
      out pceltFetched: LongWord): HResult; stdcall;
    function Skip(celt: LongWord): HResult; stdcall;
    function Reset: HResult; stdcall;
    function Clone(out Enum: IEnumVariant): HResult; stdcall;
    public
    constructor Create;
    end;

implementation

uses ComServ;

var
    FIndex:Integer=0;

{ TIarguments }

function TIarguments._NewEnum: IUnknown;
begin
  Result:=self;
end;

function TIarguments.Count: Integer;
begin
  Result:=System.Length(FAArgs);
end;

function TIarguments.Get_length: Integer;
begin
   Result:=Count;
end;

function TIarguments.Item(Index: Integer): WideString;
begin
  if (Index >= System.Length(FAArgs)) then
  raise EOleSysError.Create('Range check error', HRESULT($800A0009),0)
  else
  Result:=FAArgs[Index]
end;

function TIarguments.Get_Named: IWSHNamedArguments;
begin
  Result:=FWSHNamedArguments;
end;

function TIarguments.Get_Unnamed: IWSHUnnamedArguments;
begin
  Result:=FWSHUnNamedArguments;
end;

procedure TIarguments.ShowUsage;
begin
  OleError(E_NOTIMPL);
end;

constructor TIarguments.Create;
var
  I,J, PCnt:Integer;
  S, CmdLine:string;
begin
  inherited Create;
  FIndex:=0;
  FWSHNamedArguments:=TIWSHNamedArguments.Create;
  FWSHUnNamedArguments:=TIWSHUnNamedArguments.Create;
  PCnt:=ParamCount;
  SetLength(FAArgs, PCnt);
  for I:=1 to PCnt do
  begin
    J:=I-1;
    FAArgs[J]:=ParamStr(I);
  end;

  //Parsing named args.

  CmdLine:='';
  S:=GetCommandLine;
  PCnt:=iParamCount(PChar(S));
  if PCnt > 1 then
  begin
    for I:=1 to PCnt-1 do
    begin
      CmdLine:=CmdLine+iParamStr(PChar(S), I);
      if I < PCnt-1 then
      CmdLine:=CmdLine+' ';
    end;
  end;

Support Support, (Updated )

Комментарии (6, +6)

Школоло / Говнокод #28155 Ссылка на оригинал

0

  1. 1
Знакомьтесь с клавиатурой Gboard! Здесь будет сохраняться текст, который вы копируете.  Нажмите на фрагмент, чтобы вставить его в текстовое поле.Чтобы закреплять, добавлять или удалять фрагменты, используйте значок редактирования.Чтобы закрепить фрагмент, нажмите на него и удерживайте. Незакрепленные объекты будут удалены через час.

Как же я сейчас сладко покакал. Был дикий запор, срал 30 мин. Говно страмбовалось и стало очень плотным. Сначала шли гигантские такие ядра размером с кулак. Я думал, что будет разрыв сраки. Шли очень медленно и знаете, когда оно уже пролезло в анус внаибольшем диаметре становилось пиздецки больно. Но эта боль в тоже время была приятной, очень возбуждала. Хотелось поиграть с этим ядром и погонять его назад-вперед. Это просто дико возбуждает, когда твой сфинктер растягивают изнутри. Сейчас пишу это и возбуждаюсь, пойду дрочить. Таких ядер вышло штук пять, а потом самое интересное началось. Пошла длинная твердая колбаса. Знаете, такие обычно за раз не высираются. Так и у меня было дошла до половины и не идет, сраку пиздецки рвет, хуй стоит. Хоть руками выдергивай. А потом она начала всасывться обратно, в этот момент я чуть не кончил. Но пришлось собраться с силами и досрать ее. А потом, когда муки прошли и говно вышло из меня наступило дикое облегчение. Мой сфинктер растянулся и не закрывался. Я чувствовал, что внутри меня еще осталось говно, но оно уже было мягкое и не запорное. Нужно было досрать, но тужиться я уже не мог, сфинктер не закрывался. Я начал как бы пританцовывать тазом сидя на унитазе, мотать им в стороны. И небольшая лепешка упала прямо из кишки. В этот момент нужно двигаться не сильно, чтобы не испачкать булки падающей какашкой. Я был наконец-то высравшимся, наступило облегчение, хуй опал. Посидел, перевел дух. И помыл жопу из гигиенического душа. Струйку сделал слабую, чтобы не раздражать итак уставший чувствительный сфинктер. Сейчас сижу пишу это, а срака слегка горит, чувствую, что она горячая и хуй испытывает возбуждение, хочется дрочить.

Pelmen Pelmen, (Updated )

Комментарии (4, +4)

Школоло / Говнокод #28154 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
Джоске:ахх~,мгх~,глубже
Джотаро:*сует очень глубоко*
Джоске:Ах~...нет!он слишком большой~мгх...
Джотаро:хм...не лопнешь~...
Джоске:НЕТ!амгх~...

Zxc 1000-7 код

Pelmen Pelmen, (Updated )

Комментарии (0)

Школоло / Говнокод #28100 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
function rand:LongInt;
{$IFOPT J-} {$J+} {$DEFINE NoJ} {$ENDIF}
const next:LongInt=1;
{$IFDEF NoJ} {$J-} {$UNDEF NoJ} {$ENDIF}
begin
next:=next*1103515245+12345;
Result:=(next div 65536) mod 32768;
end;

Краткая инструкция как сделать static unsigned long int на Delphi.

KOTOM KOTOM, (Updated )

Комментарии (8, +8)

Школоло / Говнокод #28097 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
procedure TF_dvij.rg_sortClick(Sender: TObject);
var k :Integer;
    s,str1,str2 :string;
    fl :boolean;
begin
if G.Columns[9].Visible then
begin
  fl := Q_dvij.Active ;
  with Q_dvij do
  begin
    if fl then k := RecNo;
    if rg_sort.ItemIndex=0 then s:='order by obd,gr,exped,grot'
    else
    if rg_sort.ItemIndex=1 then s:='order by exped,gr,obd,grot'
    else
    if rg_sort.ItemIndex=2 then s:='order by gr,vp,exped,obd,grot'
    else
    if rg_sort.ItemIndex=3 then s:='order by id_korr,exped,obd,gr,grot'
    else
    if rg_sort.ItemIndex=4 then s:='order by grot,gr,exped,obd'
    else
      s:='order by strn,obd,gr,exped,grot';
      
    if rg_sort.ItemIndex=3 then
      begin
        str1 := 'select vp, id_korr,' ;           //100
        str2 := 'group by 1,2,3,4,5,6,7,8'          //192
      end
    else
      begin
        str1 := 'select vp, max(id_korr) as id_korr,' ;
        str2 := 'group by 1,3,4,5,6,7,8'
      end  ;

    Active:=false;
    SQL.Delete(100);
    SQL.Insert(100, str1 );
    SQL.Delete(192);
    SQL.Insert(192, str2 );
    SQL.Delete(262);
    SQL.Insert(262, s);
    Active:= fl;
    if fl then RecNo := k;
    G.Refresh;
  end;
end;

сортировОЧКА

Baiumka Baiumka, (Updated )

Комментарии (1, +1)

Школоло / Говнокод #27987 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
Dim a As Double
	'обнуление видимой величины
Private Sub Command1_Click()
    		Dim b As Double
    		Dim c As Double
  
    		b = Val(Replace(Text2.Text, ",", "."))
    		c = a - b
   		 Text3.Text = c
End Sub

Private Sub Form_Load()
		'ввод числа 3FBF9ADD3746F67D 
     		a = 0.123456789012346 + 1E-16
    		Text1.Text = a
End Sub

Источник - https://www.softelectro.ru/ieee754.html

j123123 j123123, (Updated )

Комментарии (92, +92)

Школоло / Говнокод #27977 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
with ZeoDataModule.TmpZQuery do
  begin
    ZeoDataModule.TmpZQuery.Close;
    ZeoDataModule.TmpZQuery.SQL.Clear;
    //ZeoDataModule.TmpZQuery.SQL.Add(ZeoDataModule.zqryOstatki.SQL.Text);
    ZeoDataModule.TmpZQuery.SQL.Add(TZQuery(dbgrdh1.DataSource.DataSet).SQL.Text);
//    ZeoDataModule.Add ('select  *,''0.00'' as str_cen from material.ostatki_by_skladid(:skladid,:dt) ');
    ZeoDataModule.TmpZQuery.SQL.Add (' and  tovarid in(');
    for i:=0 to OstatkiTovarList.Count-1 do
    begin
      ZeoDataModule.TmpZQuery.SQL.Add(ostatkiTovarList[i]);
      if i< OstatkiTovarList.Count-1 then
        ZeoDataModule.TmpZQuery.SQL.Add(',');
    end;
    ZeoDataModule.TmpZQuery.SQL.Add(')');
    ZeoDataModule.TmpZQuery.SQL.Add('order by nt');
    //-------
    zQ_sv:= DataModulePrint.frxDBDatasetOstatki.DataSet as TZQuery;   // zqryOstatki
    //--------
    ZeoDataModule.zqrySumBySS.Close;
//    ZeoDataModule.zqrySumBySS.SQL.Add('select :dt,:skladid from material.globalvalues where 1=2'); //  пустой набор
    ZeoDataModule.zqrySumBySS.ParamByName('skladid').Value:=10000;  // несуществующий склад (пустой набор)
    ZeoDataModule.zqrySumBySS.Open;

    ZeoDataModule.TmpZQuery.ParamByName('skladid').Value:=zQ_sv.ParamByName('skladid').Value;
    ZeoDataModule.TmpZQuery.ParamByName('dt').AsDate:=zQ_sv.ParamByName('dt').AsDate;
    ZeoDataModule.TmpZQuery.Open;

    DataModulePrint.frxDBDatasetOstatki.DataSet := ZeoDataModule.TmpZQuery;
    DataModulePrint.frxDBDatasetSumBySS.DataSet := ZeoDataModule.zqrySumBySS;
    if TypeVed=USUAL_OST then
    begin
      if Material.TypeSkladId = 4 then
        DataModulePrint.ShowReport('ostatki.fr3')
      else
        DataModulePrint.ShowReport('ostatki.fr3')
    end
    else if TypeVed = NO_MOVE_OST then
      DataModulePrint.ShowReport('ostatki_no_move.fr3');

    ZeoDataModule.TmpZQuery.Close;

    DataModulePrint.frxDBDatasetOstatki.DataSet := zQ_sv;
    ZeoDataModule.zqrySumBySS.Close;
    ZeoDataModule.zqrySumBySS.ParamByName('skladid').Value:=Material.Skladid;
//    ZeoDataModule.zqrySumBySS.SQL.Clear();
//    ZeoDataModule.zqrySumBySS.SQL.Add(sqlSum_sv); 
    ZeoDataModule.zqrySumBySS.Open;
  end;

ZeoDataModule.TmpZQuery.SQL.Add(TZQuery( dbgrdh1.DataSource.DataSet).SQL.Text); - особенно понравилось. Молчу про "with".

Baiumka Baiumka, (Updated )

Комментарии (0)

Школоло / Говнокод #27949 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
procedure TOstatkiForm.FormCreate(Sender: TObject);
begin
  OstatkiTovarList:=TStringList.Create;

  btnShowToConvert.Enabled := False;
  grpToConvert.Visible := False;

  zqrToConvert.SQL.Text := 'select null::integer ostid,' + #13#10 +
                                  'null::integer tovarid,' + #13#10 +
                                  'null::bigint kt,' + #13#10 +
                                  'null::varchar nt,' + #13#10 +
                                  'null::numeric cen,' + #13#10 +
                                  'null::integer edizmerid,' + #13#10 +
                                  'null::varchar name_u,' + #13#10 +
                                  'null::date income_period,' + #13#10 +
                                  'null::varchar ss,' + #13#10 +
                                  'null::numeric ost_doc,' + #13#10 +
                                  'null::numeric gsum' + #13#10 +
                           'where 1=2';
end;

Без комментариев

Baiumka Baiumka, (Updated )

Комментарии (3, +3)

Школоло / Говнокод #27939 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
if  (  (sd<>5)  )    and  //    (Material.ReadOnlySklad =false)      and
          (
              (     Material.TypeSkladId <> 4    )  and
              (
             //    (Material.UserBuh = true )  or (Material.UserAdmin = true)     or
                     (Material.DisunionByOssSb=true )  or  ( credit_operation = true )

              )
            )
           then

Baiumka Baiumka, (Updated )

Комментарии (11, +11)

Школоло / Говнокод #27926 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
procedure TForm9.FormShow(Sender: TObject);
var i_vx,o_dt,o_kt: real;
begin
  Form9.Caption:='Èòîãî ïî æóðíàëó';
  r_:='select sum(sma) as ism from '+t_ss;
  with DM.ZQ_all do
  begin
    Close;
    SQL.Clear;
    SQL.Add(r_);
    SQL.Add('where ch=1 and gd*100+ms<:rgd*100+:rms');
    Params.ParamByName('rgd').Value :=t_gd;
    Params.ParamByName('rms').Value :=t_ms;
    Open;
    first;
    if Eof=true then i_vx:=0 else i_vx:=Fieldbyname('ism').asfloat;

    Close;
    SQL.Clear;
    SQL.Add(r_);
    SQL.Add('where ch=2 and gd*100+ms<:rgd*100+:rms');
    Params.ParamByName('rgd').Value :=t_gd;
    Params.ParamByName('rms').Value :=t_ms;
    Open;

    first;
    if not Eof=true then  i_vx:=i_vx - Fieldbyname('ism').asfloat;
    LEdit1.Text:=Format('%10.2f',[i_vx]);
    Close;
    SQL.Clear;
    SQL.Add(r_);
    SQL.Add('where ch=1 and gd*100+ms=:rgd*100+:rms');
    Params.ParamByName('rgd').Value :=t_gd;
    Params.ParamByName('rms').Value :=t_ms;
    Open;
    first;
    if Eof=true then o_dt:=0 else o_dt:=Fieldbyname('ism').asfloat;
    LEdit2.Text:=Format('%10.2f',[o_dt]);
    Close;
    SQL.Clear;
    SQL.Add(r_);
    SQL.Add('where ch=2 and gd*100+ms=:rgd*100+:rms');
    Params.ParamByName('rgd').Value :=t_gd;
    Params.ParamByName('rms').Value :=t_ms;
    Open;
    first;
    if Eof=true then o_kt:=0 else o_kt:=Fieldbyname('ism').asfloat;
    Close;
    LEdit3.Text:=Format('%10.2f',[o_kt]);
    LEdit4.Text:=Format('%10.2f',[i_vx+o_dt-o_kt]);
  end;

end;

Baiumka Baiumka, (Updated )

Комментарии (3, +3)