Nach Hause
Top.Mail.Ru Yandeks.Metrika
Forum: "schnappen";
Aktuelles Archiv: 2003.06.09;
Herunterladen: [xml.tar.bz2];

Nach unten

Wie dumm Programmierer? Finden Sie ähnliche Zweige


Real   (2003-05-15 20:14) [0]

Menschen neigen dazu, Fehler zu machen. Ich schlage vor, eine Filiale zu eröffnen, in der jeder nicht ihre Härte teilt, sondern Geschichten über ihre Pannen, wenn eine scheinbar einfache Aufgabe für eine lange Zeit gelöst wurde (und welche unterschiedlichen Gedanken in diesem Moment kamen). Natürlich müssen Sie über die Probleme sprechen, die schließlich gelöst wurden, gefolgt von einem Lachanfall.



Юрий Зотов   (2003-05-15 20:35) [1]

Ich habe diesen Fehler 2 des Tages abgefangen

Ich habe dann auf PL / 1 geschrieben. Ich zitiere den Code darauf, weil er die Besonderheiten dieser bestimmten Sprache enthält. Aber mit Kommentaren, um es klar zu machen:

ERKLÄREN
I DECIMAL FIXED (1);
/ * das heißt, ich bin eine ganzzahlige Variable der Länge 1 dezimal. * /

....
D0 I = 1 ZU 9 ...
/ * In Pascal wird es so aussehen: für I: = 1 to 9 do ... * /

Alles. Der Zyklus ist endlos. Während ich den Ort der Schleife lokalisiert habe (mit einigen Debugging-Tools!), Haben 2-Tage vergangen, während ich dumm geschaut habe und nicht verstanden habe, warum diese Infektion zyklisch ist.

Danach gab es wirklich einen Lachanfall. Aber zuerst missbrauchen Sie sich selbst und die allerletzten Worte.



Zz_   (2003-05-15 20:44) [2]

Fast ähnlich wie Yuri Zotov © (15.05.03 20: 35)

for (unsigned short usTmp = 25; usTmp> = 0; usTmp -) {};



Fredericco   (2003-05-15 20:49) [3]

Es gab eine Stelle in einem großen Codeabschnitt, ungefähr so:
wenn b dann DoSome1; DoSome2;
Zum bedingten Ausführen von 1 und 2 werden Anfang und Ende benötigt. Aber ich habe sie nicht gestellt. Ich entschuldige mich sofort: Es gab eine Menge Code, bevor ich diesen halben Tag nach einem Fehler suchte, mal unter 23, bei der Arbeit mit 9-00, kurz gesagt - ich habe Fuß gesetzt. Außerdem kam ich aus irgendeinem Grund auf die Idee, dass b = wahr ist (tatsächlich war es falsch), und ich verstand nicht, was DoSome1 nicht tat. Noch bevor DoSome2 ShowMessage gesetzt hat - es hat funktioniert, aber DoSome1 wollte nicht. Ich habe ungefähr eine Stunde gekämpft. Als ich feststellte, dass b = Falsch, ja, und "Ich würde nicht unterbrechen" begann, wurde ich von mir selbst beleidigt, drückte auf "Power" und ging nach Hause.
So. :-)



panov   (2003-05-15 21:05) [4]

Jüngstes Beispiel:
Die Lösung dauerte mehrere Tage. Verstanden erst nachdem ich im Forum beraten wurde.

Das Problem war jedoch, dass die Fensterfunktion das Fenster selbst in NT nicht neu zeichnete und in W98 alles in Ordnung war.

Eine Funktion dieser Art:

Funktion MyWndProc (Wnd: HWND; Mess: word; WParam: word; LParam: LongInt): LongInt; stdcall; beginne Durcheinander von WM_CREATE: Ergebnis: = 0; WM_DESTROY: beginne PostQuitMessage (0); Ergebnis: = 0; Ende; sonst Ergebnis: = DefWIndowProc (Wnd, Mess, WParam, LParam); Ende; Ende;
Seit einigen Tagen habe ich versucht, dies herauszufinden.
Infolgedessen wurde das Problem durch Ersetzen der Arten von Prozedurparametern gelöst ...



vuk   (2003-05-15 21:18) [5]

In unserem aktuellen Projekt ist die Situation weit verbreitet, wenn Formulare Schnittstellen implementieren. An einer Stelle haben wir ein Paar globaler Variablen des Schnittstellentyps, denen irgendwann ein Wert zugewiesen wird, die aber vergessen haben, die Nullstellung zu ändern. Ich habe aber nicht vergessen, den Compiler an der Finalisierung zu befestigen ... Wir haben zusammen für ca. eine Stunde 3 nach einem Bug gesucht, weil Es regnete irgendwie aus einem absolut unverständlichen Grund und nicht jedes Mal. Als sie herausfanden, war die Reaktion ungefähr die gleiche wie die von Juri.






Ihor Osov'yak   (2003-05-15 21:23) [6]

2 Yuri Zotov © (15.05.03 20: 35)
2 Zz_ (15.05.03 20: 44)


SW ist schöner :-) ...

Über mich selbst. Sie werden sich nicht an alles erinnern. Aber das "Schmerzvollste" war auf implizite Rekursion zurückzuführen.

Ja, ich erinnerte mich .. In jüngerer Zeit .. Verflucht dann für eine lange Zeit ..

PostMessage (.., Super_Purer_CMD, ..
Apliсation.ProcessMessages;
Tun Sie, was zu tun ist, um Prozess SuperPurer CMD zu machen;







Suntechnic   (2003-05-15 21:23) [7]

> panov ©
Aus derselben Oper.

Versuchen Sie in Builder 4, einen Formularkonstruktor zu deklarieren __fastcall TForm1 (TComponent * Owner); mit dem int-Parameter. So etwas wie __fastcall TForm1 (TComponent * Owner, int index);
Beim Erstellen eines Objekts dieses Typs ist das Programm einfach durchgesackt (soweit ich mich erinnere, ist es irgendwo in der VCL rekursiv geworden). Das Ersetzen des Parameters durch den langen Typ löste das Problem.
Aber ich habe höchstwahrscheinlich nicht einmal gelacht, sondern geschimpft, als nach mehreren Stunden Recherche klar wurde, wo das Problem liegt.



Zacho   (2003-05-15 22:17) [8]

Ein sehr interessantes und nützliches Thema :)

Wahrscheinlich einer meiner dümmsten Fehler.
Ein kleines Buchhaltungsprogramm. Seit einigen Stunden versuche ich zu verstehen, warum bei der Eingabe eines neuen Vorgangs ein Datum für den Verbleib festgelegt wird. Und immer das Gleiche. Und in jüngerer Zeit hat alles gut funktioniert. Oft durchquerte und schaufelte er den gesamten Code, der dafür verantwortlich war. Dann begannen sie, sich Gedanken über einen seltenen und seltsamen Fehler auf dem Server oder eine Verletzung der Datenbankstruktur zu machen. Ich habe alle Arten von Datenbankprüfungen, Backups / Wiederherstellungen usw. durchgeführt. Es ist sinnlos.
Und plötzlich erinnere ich mich, dass ich vor ein paar Tagen für eine Art Debugging vorübergehend einen Auslöser gemacht habe, der dieses Datum zwangsweise festlegt. Ich habe vergessen, es zu löschen.
Lachen und gleichzeitig lange fluchen.

PS Für diejenigen, die nicht mit der Datenbank mit Triggern gearbeitet haben. Ein Trigger ist eine Prozedur, die ausgelöst wird, wenn ein Datensatz in einer Tabelle eingegeben, geändert oder gelöscht wird.



RIMMER   (2003-05-15 23:45) [9]

Es ist mir neulich passiert ...
In der Einheit - 2-Prozeduren, von denen jede ungefähr den gleichen Schlüssel aus zwei verschiedenen ini-Dateien liest. Beendest du es Sie sollten aus verschiedenen lesen und ich habe die String-Konstante in beiden gleich gesetzt :)) Ich habe einen halben Tag damit verbracht herauszufinden, warum der zweite Leser immer die Standardparameter liest, die ich ihm angegeben habe ...



Style   (2003-05-16 01:42) [10]

Horror :)

prope $ 7A $ 64ure (TList: List);
Ende
TObject: = Object.Destroy;
endlich
Object.Add (TList);
Ende
TObject.Create;
beginnen
beginnen

Ich hoffe, ich schreibe das nicht mit einem schrecklichen Kater :)
Obwohl bei uns alles passiert :)))



Нуу   (2003-05-16 03:51) [11]

2 Yuri Zotov © (15.05.03 20: 35)
Aber ehrlich, ich verstehe nicht?
Oder ich verstehe nicht "/ *, das heißt, ich bin eine ganzzahlige Variable mit der Länge 1 dezimal. * /"?



АлексейК   (2003-05-16 05:16) [12]

Ich hatte 3-Sprache auf dem Computer - Englisch, Deutsch und Russisch. Das Ergebnis ist, dass in einem Operator ein Zeichenpaar in deutscher Sprache eingegeben wurde. Natürlich unterschieden sie sich nicht von Englisch, aber das Programm wollte nicht kompilieren. Die Fehlermeldung zeigte in keiner Weise diesen Operator an und verursachte überhaupt keine Assoziationen. Ich verbrachte den ganzen Abend damit zu denken, dass die Cracker Stifte haben und das nicht sein kann. Dann schaltete ich die Codeabschnitte aus und am Ende ging ich zu diesem bestimmten Operator. Ich starb für eine weitere Minute bei 10, dann wählte ich es erneut und alles begann zu funktionieren.



vidiv   (2003-05-16 05:30) [13]

Ich habe es im 6-Delphin so geschrieben:
const c1: Array [Boolescher Wert, Boolescher Wert] von Byte = (0,0,0,0);
--- Mir wurde gesagt, dass es nuchno so ist: const c1: array [boolean, boolean] of byte = ((0,0), (0,0)); ---
Aber die obige Inschrift verursachte einen Fehler im dcc60-Modul. Ich habe sogar den Delphi neu angeordnet, es hat nicht funktioniert.

Das ist Ärger!



Думкин   (2003-05-16 05:42) [14]

Ich hatte vor kurzem bei der Arbeit mit DirectDrow.
In einem Schwert verwendete er BltFast mit dem Flag DDBLTFAST_WAIT.
Und dann in Blt geändert, aber vergessen, das Flag in DDBLT_WAIT zu ändern.
Das Ergebnis war traurig - auf einer großen Anzahl von Computern wurde alles gebündelt, aber nicht auf einem. Außerdem war dieser Computer weit weg - ich musste daran basteln, um das Problem zu lokalisieren, und selbst wenn er lokalisiert wurde - 15 sah minutenlang dumm aus und konnte ihn überhaupt nicht verstehen - ich fand ihn erst, als ich ihn kommentierte und wieder mit dem Tippen anfing.



ZeroDivide   (2003-05-16 08:32) [15]

> Nuu (16.05.03 03: 51)
> 2 Yuri Zotov © (15.05.03 20: 35)
> Aber ich verstehe ehrlich gesagt nicht?
Ich habe auch nicht verstanden, was die Varianz der Werte dieser Variablen ist: /

Ich wurde in solchen Verfahren wie ein Standard-Kontrollkästchen erledigt.
Ich musste es so benutzen, weil die Radiogruppe nicht schön aussah:

Prozedur TFm.Cb1clk (Absender: TObject);
beginnen
cb2.Checked: = False;
end;

Prozedur TFm.Cb2clk (Absender: TObject);
beginnen
cb1.Checked: = False;
end;

Aber das Wichtigste ist, dass ich dumm war, auch den Grund zu erkennen :)))



gek   (2003-05-16 09:28) [16]

Ich hatte eine Situation, in der 15 Minuten dumm auf die Kopierfunktion schauten
und habe nicht verstanden, warum der Compiler es nicht sieht.
Es stellte sich heraus, dass ich den ersten Buchstaben auf Russisch eingegeben hatte.



pasha676   (2003-05-16 09:33) [17]

Mein Trumpf ist, dass ich versuche, mit einem externen Gerät zu kommunizieren und vergesse, das Gerät einzuschalten :). Manchmal dauert eine Sonnenfinsternis ungefähr zehn Minuten. Das Interessanteste ist, dass dieses Ding mit guter Periodizität wiederholt wird :).



Vint   (2003-05-16 09:42) [18]


Ja, nachdem Sie mehrere Tage lang denselben Codeabschnitt durchgesehen und alles versucht und getrennt haben, stellt sich heraus, dass der Fehler in Sicht ist, dass eine Art Müll kein Lachen, sondern eine lange Matte ausbricht: (((

Und von den Witzen, die mir immer in Erinnerung geblieben sind, habe ich es bei der ersten Arbeit, als ich 386 betrunken hatte, reingelegt und abgebrochen ... Abgeschrieben :), und wieder habe ich mich vor einem Jahr auf dem 866-Kühler, einem 3-Baumstumpf, betrunken und meine Hand rutschte ab, riss meinen Schraubendreher ab eine Schicht von Adern auf den 8-Messstücken und brach den Winkel an den Prots ab ... aber nichts hat das Motherboard gelötet, der Prozentsatz hat funktioniert, aber manchmal war es von selbst überladen, ich habe dann eine Ecke mit Epoxy aufgebaut, getönt und im Rahmen der Garantie ersetzt :))



ПИТОН   (2003-05-16 09:52) [19]

Ich habe stattdessen einmal verglichen +1 hat geschrieben *1.
Also habe ich versucht, eine Woche zu fangen.



NickBat   (2003-05-16 10:38) [20]

Stärke der Gewohnheit.

Irgendwie habe ich in C ++ (oder PHP, an das ich mich jetzt nicht erinnere) einen Vergleichsoperator geschrieben

if (s = 0) .....

Lange habe ich versucht zu verstehen, warum es immer wahr ist. Das Interessanteste ist, dass im Programmtext vor diesem Vergleich und nachdem es richtig geschrieben wurde (==).



Cobalt   (2003-05-16 14:00) [21]

Jetzt habe ich für 1С geschrieben:
Anfangs war es so:
>> Für Cycle Counter = 0 By Root.Number of Subordinates () - 1 Cycle
aber verflucht ins Ausland zu gehen. Dann tat er das:
>> Für Cycle Counter = 1 By Root.Number of Subordinates () - 1 Cycle
(und die Anzahl der Elemente war 1 :))
Ich war lange überrascht, dass es nicht durch den Baum geht



Юрий Федоров   (2003-05-16 14:09) [22]

Mein schlimmster Fall trat auf, als in einer völlig harmlosen Zeile wie Panel1.caption: = "" das Programm abstürzte.
Ich dachte für zwei Wochen, es stellte sich heraus, dass ich in einem anderen Modul in StrCopy vergessen habe, Speicher für den Terminator zu reservieren (#0)



Marser   (2003-05-16 14:37) [23]

Ich kann mich nicht an alles erinnern, es gibt ernsthafte Störungen, aber nach einer Minute Hysterie ist alles vergessen% -)



Style   (2003-05-16 14:51) [24]

Und kürzlich hat er zufällig CLX mit Delphi6 verbunden.
Im Allgemeinen hat der Distributor dem Kunden den Auftrag erteilt. Und da geht bam nicht .. Sagt hier in die Bibliothek kommen :(

Im Allgemeinen habe ich nicht alles verstanden. Ich benutze nichts, sagen wir die Bibliothek. Es stellte sich heraus, dass ich im Code meiner Komponente versehentlich die Q-Taste vor die Formulare gesteckt habe. Es stellte sich heraus, dass qforms verwendet werden.

Und verdammt tödliche Zeit !! Es scheint, dass die Komponenten fahren! Im Code ist alles sauber und verdammt fantastisch :))



Dmk   (2003-05-16 14:59) [25]

Um mit Bildern zu arbeiten, habe ich meine eigene Klasse erstellt. Es wurde also ein Zeiger verwendet, um mit Scanlinien zu arbeiten. Und hervorgehoben
Zeigerfeldlänge in der Abtastzeile. Wird immer durch die Breite des Bildes hervorgehoben.
Die Klasse enthielt Funktionen, mit denen Sie das Bild drehen können. Alles hat gut geklappt, aber beim Skalieren und Zeichnen geschahen Wunder :) Ich suchte einen Monat. Aber dann ein Gefühl der Erleichterung :)



han_malign   (2003-05-16 15:03) [26]

> NickBat © (16.05.03 10: 38)
> if (s = 0) .....
> Lange habe ich versucht zu verstehen, warum es immer wahr ist. ...
- vielleicht noch eine lüge ???



clickmaker   (2003-05-16 15:18) [27]

während DS.Eof beginnen
...
DS.Next;
end;

Kein Kommentar.



han_malign   (2003-05-16 15:32) [28]

zuletzt so etwas ( für die Klarheit)
Beschriftung: = "Label1 löschen";
mit Label1 beginnen
Frei;
Beschriftung: = "Label1 gelöscht";
end;



Игорь Шевченко   (2003-05-16 15:35) [29]

DS.Open ();
versuchen
während nicht DS.Eof beginnen
.... zum Codebildschirm ..
end;
endlich
DS.Close ()
end;

DS.Next wurde verpasst :)




Vlad Oshin   (2003-05-16 15:50) [30]

Es war notwendig, den Prozentsatz der erfolglosen Versuche zu bewerten und mit dem vorgegebenen zu vergleichen

wenn (schlecht / alle) <50 dann
seltsam, es funktioniert nicht ...

wenn rund (schlecht / alle) * 100 <0.5 dann
seltsam, es funktioniert nicht ...




Ihor Osov'yak   (2003-05-16 15:58) [31]

2 NickBat © (16.05.03 10: 38)

Deshalb empfehlen wir zuerst die zu schreibende Konstante und dann die Variable:

if (0 = s) {

Der Compiler würde es definitiv nicht verpassen :-)

Bedrohung - obwohl er selbst solche Fehler mehrmals gemacht hat .. Und dann hat er lange gesucht ..



VAleksey   (2003-05-16 16:46) [32]

Buchstäblich vor 2 Minuten realisiert.
Neuling:

qryTransCount.SQL.SaveToFile ("");
wenn nicht qryTransCount.Prepared dann qryTransCount.Prepare;


ca. 30 min Ich konnte nicht verstehen, warum das Programm einfriert.
Sin in der zweiten Zeile.
Aber die Abfrage wurde ein wenig optimiert :-))



SPeller   (2003-05-16 16:48) [33]

Ich habe gerade einen Fehler gefunden, mit dem ich seit gestern genau um 24 Stunden gekämpft habe. Ich schreibe eine Art Sound-Engine in meinen eigenen Cursor, und als ich Funktionsdeklarationen in eine von ihnen übertrug, vergaß ich, stdcall zu setzen; Nur wegen eines Wortes hat es Tage, Nerven und schlaflose Nacht gedauert :-))



VAleksey   (2003-05-16 16:48) [34]


> Igor Shevchenko © (16.05.03 15: 35)


> clickmaker © (16.05.03 15: 18)


Na das ist ja generell ein Klassiker :-)



icWasya   (2003-05-16 18:39) [35]

aus dem letzten Jahrhundert
Fortran

DO I = 1 . Xnumx MYPROC (I) 10 WEITER

alles kompiliert - und die MYPROC-Prozedur wird einmalig mit dem 0-Parameter ausgeführt.
was ist los?
anstelle eines Kommas
Es ist fast unmöglich, den Unterschied auf dem Ausdruck zu bemerken
Fortran ignoriert Leerzeichen im Text (auch innerhalb des Bezeichners)
und die Variablen werden implizit beschrieben - als Ergebnis, wenn Sie in Pascal übersetzen, dann den richtigen Code
für I: = 1 zu 10 tun MYPROC (I);
verwandelte sich in
DOI: = 1.10; MYPROC (I);





Song   (2003-05-16 20:26) [36]

Var D1, D2: Double;

D1: = GetModulePrice; // 1,24
D2: = StrToFloat (Label21.Caption); // 1,24

WENN D1 = D2, dann ImageList1.Draw (... {grünes Symbol}} sonst
ImageList1.Draw (... {rotes Symbol});

Eine halbe Stunde lang konnte ich nicht beenden, warum der rote Ikoka gezogen wurde.



Snap   (2003-05-18 01:03) [37]

JavaScript.
Einfacher Code zum Aktualisieren der Seite per Timer. 3 Ich habe eine Stunde lang versucht zu verstehen, warum jedes Mal ein Fehler auftritt. Es stellte sich heraus, dass ich die Klammern nicht in den Zustand versetzt habe :)))) aber in Pascal funktioniert es ohne die Klammern :))))

In Delphi vergesse ich oft, den zweiten Parameter in reset oder rewrite zu setzen, und es stellt sich heraus, dass jedes Stück 512 Bytes ist :)))



DrPass   (2003-05-18 10:19) [38]

Gestern habe ich ein Programm geschrieben (es war zu faul, um einen Frame einzugeben, also habe ich einfach generic.pas aus Turbo-Pascal-Sortierungen kopiert):
...
Funktion WindowProc (Window: HWnd; Message, WParam: Wort;
LParam: Longint): Longint;
beginnen
...
Und fast eine Stunde lang versuchte ich herauszufinden, warum sie hängt?



Malder   (2003-05-18 11:58) [39]

Yuri Zotov, sorry für die Dummheit, aber ich habe auch nicht verstanden, was es bedeutet
> I ist eine Ganzzahlvariable mit einer Länge von 1 dezimal



Юрий Зотов   (2003-05-18 12:25) [40]

> Nuu (16.05.03 03: 51)
> ZeroDivide © (16.05.03 08: 32)
> Malder © (18.05.03 11: 58)

Dies ist eine Ganzzahlvariable mit einem Bereich von 0..9. Die Besonderheit des Compilers besteht darin, dass der Überlaufkontrollcode nicht erstellt wird, sondern dass der Code erstellt wird, der die führenden Dezimalstellen "verwirft". Als Ergebnis erhalten wir: Wenn I = 9, dann bin ich nach dem Hinzufügen einer weiteren Einheit gleich Null. Daher die Schleife (ich kann die obere Grenze des Zyklus nie überschreiten).

In PL / 1 waren keine Wunder möglich. Zum Beispiel konnten fast alle Datentypen problemlos in fast alle anderen Datentypen konvertiert werden. Das Ding ist sehr mächtig, aber auch sehr gefährlich. Es erfordert Aufmerksamkeit, Genauigkeit und ein gründliches Verständnis dessen, was Sie tun und wie es vom Compiler verarbeitet wird. Andernfalls sind die Konsequenzen unvorhersehbar und das Auffinden solcher Fehler ist normalerweise sehr schwierig.



Malder   (2003-05-18 12:31) [41]

Yuri Zotov, dann habe ich nicht verstanden

Wenn I = 9, dann bin ich nach dem Hinzufügen einer weiteren Einheit gleich Null. Daher die Schleife
...
D0 I = 1 ZU 9 ...
/ * In Pascal wird es so aussehen: für I: = 1 to 9 do ... * /


Nun, der Zyklus wird zum letzten Mal bei i = 9 ausgeführt und das wars. Was für ein Loop?



Юрий Зотов   (2003-05-18 12:37) [42]

> Malder © (18.05.03 12: 31)

Also ... und was ist ein Zyklus im Maschinencode, der vom PL / 1-Compiler erstellt wird?

1. Der Zyklus wird bei I = 9 ausgeführt.
2. Ich erhöhe um 1 und es stellt sich heraus, dass I = 0.
3. Überprüft: Ich über 9? Nein. Also, lass uns zuerst gehen.




Malder   (2003-05-18 12:56) [43]

Oh ja, das habe ich getan. Kein Wunder, dass die Filiale heißt :-)



kaif   (2003-05-18 14:08) [44]

2 Yuri Zotov © (18.05.03 12: 37)
Cooler Fehler!
----------------
Mein schlimmster Fehler (von Zeit zu Zeit zugeben):
mit DataSet machen
beginnen
Zuerst;
während nicht eof tun
beginnen
.... (Wenn es viel Code gibt, vergesse ich Weiter)
end;
end;
-----------
Ich bin immer verwirrt, wenn Sie die Menge von Grund auf oder von Grund auf neu zählen müssen. Zum Beispiel ist für i: = 5 zu 15 klar, dass es 11-mal funktionieren wird, aber in
s: = Kopie (s, pos (s2, s), Länge (s) - pos (s2) + 1)
Ich werde auf jeden Fall einen Fehler machen.
-----------
Ein weiterer Lieblingsfehler:
normalerweise, wenn ich stattdessen mit DataSet schreibe
nur:
DataSet.First;
während nicht Eof do
beginnen
....
DataSet.Next;
end;

Aus Gewohnheit gedacht, dass Eof DataSet bedeutete.
Der Delphi-Compiler versteht in diesem Fall aus irgendeinem Grund das Eof des Texts des Formularmoduls und kompiliert das Projekt ruhig. Und beim Start stürzt alles ab.
-----------
Seltsam, aber in SQL mache ich fast nie Fehler. Dies ist wahrscheinlich der Grund, warum ich alle Buchhaltungsaufgaben auf SQL reduzieren möchte.



Nick Denry   (2003-05-18 14:11) [45]

Wenn nur auf das Thema und für sich allein zu urteilen, dann viel!



kaif   (2003-05-18 14:17) [46]

Ich habe den schrecklichsten Fehler in meinem Leben als Elektroniker gemacht. Ich baute eine große Schaltung auf und wollte dort in einem bestimmten Bus ein Paritätsbit machen. Nun, ich habe dort natürlich ein Logikelement eingefügt, das modulo 2 alle Bits des Busses summiert. Dann stellte sich heraus, dass ich irgendwann den Wert dieses Prüfbits vorhersagen musste, bevor ich zwei Zahlen addierte (und die Schaltung auf sehr großen Frequenzen arbeitete), ohne zweimal darüber nachzudenken, fand ich alle Optionen heraus und entschied, dass das Prüfbit, wenn die hinzugefügte Zahl gerade ist, dies sein kann nicht ändern, und wenn es ungerade ist, ändern Sie das Bit auf den entgegengesetzten Wert. Ich wurde nur durch ein Wortspiel im Stich gelassen. Auf Russisch klingen Parität und Ungerade gleich, obwohl sie zwei verschiedene Dinge sind. Als das Board hergestellt und auf den Markt gebracht wurde, habe ich den ganzen Tag nach dem Fehler gesucht. Ich ging im Kreis, alles scheint richtig zu funktionieren, aber es funktioniert richtig oder falsch ... Als ich den Fehler entdeckte, schien es mir, dass ich verrückt wurde ...



Юрий Зотов   (2003-05-18 15:46) [47]

> kaif © (18.05.03 14: 17)

Dem musste ich mich stellen ...

In dem 10-Bitzähler auf den D-Flip-Flops werden während einer Zeit T Impulse einer gegebenen Frequenz (PWM) empfangen. Am Ende des Intervalls T (entlang der Hinterkante des "Fensters") wird ein Abfrageimpuls erzeugt, der die Information vom Zähler in den RAM überschreibt (auch 10-D-Flip-Flops mit kombinierten C-Eingängen). Dann wird ein Rücksetzimpuls erzeugt, der Zähler (aber nicht der RAM) wird zurückgesetzt und der Zyklus wiederholt. Alles wurde auf der 133-Serie gesammelt, die Packungsfrequenz beträgt 512 kHz (was sehr weit vom Maximum dieser Serie entfernt ist), die tatsächlichen Werte von T sind so, dass ein Überlauf ausgeschlossen ist.

Im Allgemeinen sollte das Standardschema der digitalen Messung des Zeitintervalls ironisch funktionieren. OK, wir fangen an, uns das Layout anzuschauen - und wir sehen, dass im RAM die ganze Zeit Null ist! Ich überprüfe die Installation, ich schaue auf den Durchgang von Signalen, ihre Synchronisation - alles ist in Ordnung. Der Zähler funktioniert einwandfrei, alles ist in Ordnung mit dem RAM, die notwendigen Impulse kommen dort an, wo sie gebraucht werden und pünktlich - aber im RAM ist es immer noch Null! Es liegt Strom an, Mikroschaltungen sind nicht unterbrochen, an den Informationseingängen des RAM ist alles in Ordnung, an den Takteingängen liegt ein Abfrageimpuls an (und pünktlich), die zulässigen Verzweigungskoeffizienten werden nicht überschritten (d. H. Es gibt keine Signalunterstreifen, die Flanken sind nicht blockiert) - aber der RAM ist immer noch still wie ein Partisan beim Verhör!

Ich kämpfe gegen 3 des Tages, ich breche mir den Kopf und so weiter und so fort - ich verstehe nichts. Schließlich machte er eine fast phantastische Annahme, dass aufgrund der Verzögerung im Betrieb der Mikroschaltungen (in der Takterzeugungsschaltung) an der Rückflanke des Rücksetzimpulses ein zweiter falscher Abfrageimpuls gebildet wird (diese Schaltung wurde so aufgebaut, dass dies theoretisch möglich war, obwohl die Wahrscheinlichkeit praktisch ist der Fehler war, könnte man sagen, Null). Und dieser falsche Impuls schreibt erneut Informationen von einem bereits zurückgesetzten Zähler in den RAM - deshalb steht dort Null. Und wegen der Trägheit des Oszilloskops sehe ich diese "Sprünge" einfach nicht im RAM.

Ich fing an zu überprüfen. Diese Fehlimpulse konnten zunächst nicht erfasst werden. Nun, es gibt keine, das ist alles. Dann kam er auf ein einzigartiges Oszilloskop (fast das einzige in der Firma), mit einer wütenden Geschwindigkeit und mit einem langen Nachleuchten der Röhre. Und fing es! Zunächst waren es einige Nanosekundenpulse, und selbst auf einem solchen Oszilloskop konnte ich sie bei maximaler Helligkeit des Bildschirms kaum sehen.

Na dann war ja schon alles einfach. Eine der Mikroschaltungen hatte einen inaktiven Inverter, durch den ich eines der Signale auslöste (d. H. Ich verschob die Formungsfront um die Dauer dieses Signals) - und alles funktionierte sofort.

Fünf Minuten Arbeit, buchstäblich 2-Löten. Ein paar Tage waren verloren. Aber nach diesem Vorfall habe ich IMMER die Zeitdiagramme unter Berücksichtigung von Verzögerungen gezeichnet.



Malder   (2003-05-18 17:28) [48]

Und warum geht dann so ein Code nicht in Delphi-Zyklen

var i: Byte;
beginnen
für i: = 1 zu 255 tun
Piepton;
end;



Ihor Osov'yak   (2003-05-18 18:03) [49]

2 Malder © (18.05.03 17: 28)

Der Compiler in Pascal - es ist klug. Setzen Sie einen Haltepunkt, und drücken Sie nach dem Beenden Ctrl_Alt_C - und schauen Sie.


2 Yuri Zotov © (18.05.03 15: 46)

Impulsrennen ist Macht. Nicht wie Käfer in Zyklen. Wenn jedoch ein Verdacht auf diese Situation aufkam, hielten sich gewöhnlich ein paar Spitzen am Boden fest - und Fragen wurden normalerweise gelöst. Ich meine, nicht, dass ein paar Spitzen übrig blieben für immer, aber in der Tatsache, dass sie wieder Rennen bestritten haben ... In besonders klinischen Fällen musste ich den D-Trigger im Teilermodus in zwei Teile teilen und das Signal bereits an seinem Ausgang beobachten.

Ja, ich erinnerte mich auch, dass ich noch ein junger Spezialist war, aber nach diesem Vorfall waren meine Kollegen sehr respektvoll. Eine Platine wurde mit installiert, es gab ungefähr hundert 555-Gehäuse, natürlich in der Nähe jedes 0.1 am Kreisverkehr. Einer dieser Kondensatoren ist KZ.
Normalerweise wurden in diesem Fall alle Kondensatoren nach und nach verdampft oder der Strom wurde ein wenig unterbrochen, fast mit der "Halbteilungsmethode". Aber dann dämmerte es mir ein bisschen und ich diskutierte zwei Minuten lang über diesen Kondensator nach dem ersten Treffer.
Wie wurde das gemacht? :-)



kaif   (2003-05-18 19:45) [50]

2 Ihor Osov "yak © (18.05.03 18: 03)
Das einzige, was mir bisher in den Sinn gekommen ist, ist, dass ich einen guten Strom von der Quelle geliefert habe - einen Stromstabilisator - und mit meinem Finger nach dem zu erhitzenden Konder gesucht habe ... Obwohl ich es wahrscheinlich nicht vermutet habe? ...

2 Yuri Zotov © (18.05.03 15: 46)

Ich habe auch ein paar Mal mit Nanosekundenpulsen gearbeitet. Gesucht wurde nach D-Trigger-Teilern wie Ihor Osov "yak.



Ihor Osov'yak   (2003-05-18 19:55) [51]

2 kaif © (18.05.03 19: 45)

Fast geraten. Nun, der Strom ist nicht sehr groß, aber so, dass der Millivolt 20-30 auf der Platine läuft (von Niederspannung zu 1V durch Widerstand, Niederspannung - damit nichts durchbrennt, wenn der Kurzschluss verschwindet). Und dann das Differential. Das Oszilloskop beobachtete einen Spannungsabfall. Sie können auch gewöhnliche) ..
Und Heizung ist problematisch - die Bahnen könnten schneller als ein kurzer Kondensator aufgeheizt werden.



kaif   (2003-05-18 20:01) [52]

Einmal bat mich meine Schwiegermutter, ein Elektronenmikroskop bei der Arbeit zu reparieren. Ich sage dir, die Sache ist stressig ... Tesla. Der Typ da drüben war für 2-Wochen dumm - er konnte die Pläne nicht herausfinden. Also zeigt er mir diese Pläne - völlige Dunkelheit. Ich dachte, wenn dieser Typ 2 die Woche nicht reparieren kann, geht es vielleicht nicht um die Pläne ... Zumindest werde ich es nicht in einer Stunde herausfinden können ...
Ich sage, komm schon, aber warum bist du auf die Idee gekommen, dass das Mikroskop nicht funktioniert? Er sagt, schau, der Pfeil auf dem Gerät zeigt an, dass kein Vakuum vorhanden ist, aber ein Vakuum, da die Schachtel mit der Probe nicht von Hand herausgezogen wird. Ich zog die Kiste vor und nach dem Einschalten der Pumpe. Die Art ist in der Tat nicht ausgezogen. Und dort gibt es neben der Hauptpumpe auch eine Diffusion, die auf raffinierten Prinzipien beruht, wie z. B. eine Spirale in einem Vakuum, die den gesamten Müll durch einen speziellen Kegel aufheizt und beschleunigt, um ein Supervakuum zu erhalten. Also dachte ich mir. Ich sage, Mann, bist du dir sicher, dass es dort ein notwendiges Vakuum gibt? Vielleicht stimmt das Gerät, dass dort kein Vakuum herrscht? Er ist wieder für sich, als wäre eine Schachtel nicht herausgezogen ... Ich sage, hör mal, Mann, und wenn Sie zum Beispiel 0.05-Atmosphären haben, denken Sie, Sie können die Schachtel herausziehen?
Der ganze Mann wurde plötzlich blau und rannte zum Pumpenraum. Er kam gerannt und sagte, dass alles in Ordnung sei. In der Pumpe stellt sich heraus, dass das Öl längst vorbei ist. Gefülltes Öl - alles hat funktioniert.
Wieder ein Wortspiel (Vakuum - Vakuum) ... d.h. was in der Tat ein Vakuum zu nennen ...



kaif   (2003-05-18 20:07) [53]

Im Allgemeinen kann ich Ihnen sagen, dass es keine aufregendere Aktivität gibt, als eine Maus in Ihrem Zimmer zu fangen, wenn sie sich dort niedergelassen hat. Hier ist eine wahre Lehre für den Detektivverstand ... ich habe mal 3 Stunden damit gerechnet. Sie werden einen neuen Ort berechnen, an dem sie sich versteckt, und sie, ein Yurk - und an einen neuen Ort, und einen, der nicht einmal in meinen Kopf eindringt ... Also habe ich 3 Stunden in 100 Stunden in einem kleinen Raum gefunden, in dem sich die Maus verstecken kann ... Als alle Plätze erschöpft waren, fing sie einfach an, durch den Raum zu eilen und ich fing sie auf. Auf der Straße mit Ehrungen loslassen ...



Malder   (2003-05-18 20:16) [54]

Ja, großartig. Es stellte sich heraus, dass der FOR-Zyklus in Delphi so implementiert ist, dass er einmal für jeden ausgeführt wird :-)

Ich ahnte nicht ...



kaif   (2003-05-18 20:22) [55]

2 Malder © (18.05.03 20: 16)
Genauer gesagt, kein Zyklus, sondern eine Testbedingung, die mindestens einmal überprüft werden sollte. Im Allgemeinen kann dies überprüft werden.

Müssen schreiben
i: = 0;
für i: = 5 bis 4
;
ShowMessage (IntToStr (i));

Wenn 0 zeigt, dann ist das nicht so.
Ich denke, es wird i = 5 zeigen.
Obwohl ich das in solch einer expliziten Form nicht ausschließe, kann das Optimierungsprogramm diesen Teil des Codes ausgeben.



Malder   (2003-05-18 20:28) [56]

Nein, 0 wird angezeigt. In einer weiteren Warnung wird angegeben, dass der Zyklus niemals ausgeführt wird, sodass der Zyklus aus dem Code entfernt wird (Optimierung spielt keine Rolle). Dementsprechend wird der Wert von i nicht durch einen normalen Wert ersetzt.
Sie haben auch die Ausführung der FOR-Schleife in Delphi in Assembler nicht gesehen.

Wenn die Schleife nicht ausgeführt wird, wirft sie sie aus, wenn sie mindestens einmal ausgeführt wird, werden im Assembler die Befehle in der Schleife zum ersten Mal tatsächlich bis zu cmp ausgeführt



wnew   (2003-05-19 00:59) [57]


> Ihor Osov "yak © (18.05.03 19: 55)

Es ist eine übliche Praxis für Bediener, den Schaden durch Einschalten des Geräts über einen Strombegrenzungswiderstand zu ermitteln, am besten über eine gewöhnliche Glühlampe mit geeigneter Leistung. Die Tatsache ist, dass der Heizfaden beim Erhitzen seinen Widerstand erhöht, was die Sicherheit des zu untersuchenden elektronischen Geräts weiter begünstigt. Darüber hinaus muss diese Methode nicht oft mit binärer Elektronik verwendet werden, weil In den meisten Fällen handelt es sich nicht um einen Mehrpunktbetrieb, aber bei analogen Geräten, insbesondere bei verschiedenen Leistungsverstärkern, handelt es sich um ein sehr gutes Werkzeug, das die Suche nach Schäden erleichtert. Und doch war eine solche Methode meiner Meinung nach bei der Reparatur der berüchtigten Schaltnetzteile für Fernseher wie 2USTST, 3USTST mit einem KU112-Thyristor nicht unumgänglich.
Ich wollte nichts sagen, nur inspiriert. Seit 10 Jahren mache ich nicht mehr mein Lieblingsding, Sehnsucht.



Юрий Зотов   (2003-05-19 02:47) [58]

wnew © (19.05.03 00: 59)

Der Tauschhandel heißt ...





Digitman   (2003-05-19 11:38) [59]

Hier war meine "Situation":

WinMe, MSOffice2000

eine Diskette mit einer * .doc-Datei eingelegt wird, ein Versuch, die Word-Datei zu öffnen / lesen "oh direkt von der Diskette ..." tot "hängen ... neustarten ... alles! alles kaput!" booted ", das heißt - blue dead screan c Ich schwöre auf kernel32 und einen bestimmten VXD-Treiber (ich weiß nicht mehr, welcher, aber nach dem Namen zu urteilen, hat das angeblich überhaupt nichts mit der Hardware zu tun) ...
Ich entferne diesen Treiber aus dem Autostart, starte neu - das gleiche "blaue Problem", aber mit einem Link bereits zu einer anderen VXD ...

Weder Rollbacks auf frühere Sevpoints noch Betriebssystem-Overlay-Regeneration, noch manuelles Ersetzen verdächtiger Systemdateien durch offensichtlich auf einem anderen Computer funktionierende Dateien noch Vergleich von Systemtreiberdateien mit dem richtigen Datum / der richtigen Größe / Version mit Dateien offensichtlich funktionierender Ergebnistreiber gibt nicht ...

die einzige hoffnung ist, dass der "safemode" modus noch funktioniert ...

Ich nahm ein Dampfbad mit dem Problem, ich erinnere mich, für mindestens eine Woche, abends (die Maschine war zu Hause, arbeitete nicht), verbesserte ein paar Stunden Zeit und führte eine Reihe von (nicht "blinden", nicht systemischen) Experimenten durch ... das Protokoll ist in Ordnung, alles ist in Ordnung. Dateien und alle Treiber - angeblich auch alle Einstellungen - stimmen überein ... nun, es funktioniert nicht - und das wars! (...

Trotzdem funktioniert dasselbe Betriebssystem, das in einem anderen Verzeichnis auf derselben Festplatte mit demselben Distributionskit installiert wurde (minimale, "saubere" Installation), ohne Frage wie erwartet !!

Meine eigene „Dummheit“ zeigte sich, als ich mich verzweifelt dazu entschied, die 32-Bit-IDE-Controller-Treiber neu zu installieren, die mir aufgefallen sind, als ich die gesamte OEM-Software durchgesehen habe, die mit meinem geliefert wurde Zeitverkäufer Autos auf unscheinbaren Disketten ..

weil die vorübergehende erzwungene Sperrung des erweiterten Modus der Arbeit mit Plattengeräten, wie sich herausstellte, ein interessantes Ergebnis ergab - das System begann zumindest erfolgreich zu booten! ein seltener Fall, aber - schlug sofort vor, dass ..

Ich habe den Treiber schnell von einer Diskette aktualisiert und - siehe da! - das System wurde zum Leben erweckt !!
warum ich es nicht sofort getan habe - ich kenne meinen Verstand nicht) ...
Obwohl sich die vorhandene IDE-Treiberdatei äußerlich nicht von der von der Diskette installierten Datei unterschied, stellte sich heraus, dass sie tatsächlich beschädigt war: WinMe war auf eine unglaubliche, völlig unvorhersehbare Weise. " es ist gelungen, "in einen der von der Datei belegten Cluster zu rollen, Nullen !!

Die "Dummheit" dieser Woche hat mich natürlich dazu gebracht, Spaß zu haben und von ganzem Herzen über mich selbst zu kichern. Aber im Übrigen gab es mir Anlass, ernsthaft über die Notwendigkeit / Möglichkeit / den Wunsch nach einem weiteren Betrieb eines solchen Betriebssystems nachzudenken, das in jedem unerwarteten Moment am heimtückischsten ist Weg kann alles und alles zerstören ... die endgültige Entscheidung wurde schnell genug getroffen - WinMe muss für immer auf dieser Maschine sterben, und von nun an - keine und in keiner Weise Reinkarnation!))



Vint   (2003-05-19 11:42) [60]

> wnew © (19.05.03 00: 59)

der gleiche Müll ...

... Ich gehe auf den Markt wie Eisenerz, und da gibt es 555-Transistoren aller Art 7-, 315-, КУ-312-Transistoren, verdammt noch mal so eine Sehnsucht nach der Kindheit ...;)))

Jahre 15 hat nichts gesammelt, gerade jetzt, nur reparieren, na ja, auf die kleinen Dinge, aber wie ich es gerade sehe, juckende Hände :))



kaif   (2003-05-19 11:59) [61]

Irgendwie hat sich im Büro meines Partners ein Benutzer (Buchhalter) geflickt. Sie versteht es nicht, sie weiß nicht, wie es geht, und zeigt es ihr dann. Alle fünf Minuten hängt der Computer ... (schon Mystik). Ich verstehe, wenn jemand noch nie einen Computer in seinen Augen gesehen hat, aber außerdem war sie auch ein seltener Dummkopf ...
Irgendwann, wenn sie es satt hat, ruft sie mich an und die Inschrift auf dem Bildschirm:
"Nicht Systemdatenträger oder Datenträgerfehler"
Nun, ich bin im Allgemeinen aufgeblasen. Ich habe nicht mal hingeschaut. Ich sage - du bist Vinc geflogen. TPA für solche Dummköpfe muss fliegen.
Dann kommen nach 2 Stunden auf. Sagt: "Und ich habe den Computer repariert!"
Ich schon oh. Ich sage: "Wie ???". Und sie sagt. Sie hat eine Diskette bekommen - es hat funktioniert.



Юрий Зотов   (2003-05-19 12:20) [62]

> kaif © (19.05.03 11: 59)

Wir hatten eine Benutzerin - gerade die Admin mit ihrer militanten Dummheit. Bis zu dem Punkt, an dem er ihre Anweisungen schrieb - wie man eine Datei auf eine Diskette kopiert. Und es gelang ihr immer noch nicht. Ja, sie hat nicht zu viel versucht, sie glaubte, dass das Kopieren einer Datei auf eine Diskette in der Verantwortung des Administrators lag. Als würde er dafür bezahlt. Also bin ich ihm täglich begegnet.

Das Schönste ist, dass sie, als sie in ihren Lebenslauf eintrat, schrieb: "Beherrschung eines Computers". Zirkus



Sha   (2003-05-19 12:27) [63]

2Vint © (19.05.03 11: 42)
ähnlich



wal   (2003-05-19 12:39) [64]

Erst gestern zu Hause habe ich folgendes abgebildet:
Datei subst.bat
Inhalt:
subst z: d: \ temp

Er saß da ​​und schaute eine halbe Stunde lang auf den Bildschirm und die laufenden Linien. Es hat sehr lange gedauert.
Mit freundlichen Grüßen.



Darts   (2003-05-19 12:55) [65]

Die Sekretärin von 50 Jahre arbeitete bei meinem letzten Job. Eine nette, liebenswerte Frau, die Word and Lines hervorragend besaß und dann die Arbeit für die Schule verließ. Ich habe auch meinen Job gekündigt, aber in einer anderen Firma.
Über 3 Monate sind vergangen, der Monat 2001 des Jahres ist gekommen. Ich musste dringend ein Projekt machen und nahm einen Computer für eine Woche aus der Schule (meine Freunde halfen und hatten noch keinen). Eine Woche verging und ich gab den Computer weg. Verlor aber den Vertrag mit Delphi 5.
Ich suchte lange, kramte zuhause in allem herum und fragte mich, wo er auf mystische Weise hingehen könnte.
Ich musste ein neues kaufen, der Sommer ist vorbei, der Herbst ist gekommen. Es scheint Oktober gewesen zu sein. In der Schule hat der Computer, mit dem ich früher gearbeitet habe, geflasht. Sie riefen an und fragten, was los sei. OK, ich habe zugesehen. Während der Recherche habe ich auf den Tray-Button geklickt. Stellen Sie sich mein Erstaunen vor, als ich meine fehlende CD mit der Abkürzung "Delphi" sah. Aber schließlich beendete mich der Satz der Sekretärin, die hinter mir stand, als er die CD in die Hände nahm und das Tablett zurückschob.
Da ist sie:
"- Bitte zurückstellen, sonst bootet Windows nicht ohne ..."

Kurz gesagt, das können Sie sich mit Absicht nicht vorstellen.



vidiv   (2003-05-19 13:02) [66]

var s: string;
...
für s: = 0 bis Länge (s-1) mache ....



NailMan   (2003-05-19 14:02) [67]

Der Großteil des Codes bestand aus folgendem Teil:
var p: Zeiger; f: ganze Zahl;
...
GetMem (p, Sizeof (TD3DATTRIBUTERANGE) * MaterialCount);
FileRead (F, p, Sizeof (TD3DATTRIBUTERANGE) * MaterialCount);
FreeMem (p);

Ich habe versucht, AV 4 Stunden nachts nach einem Tag ohne Schlaf zu fangen.
Übrigens ist dieser Fehler das, was ich habe, was ein vertrauter Programmierer hat - ein konstantes Phänomen.



Malder   (2003-05-19 15:17) [68]

Datei subst.bat
Inhalt:
subst z: d: \ temp

Er saß da ​​und schaute eine halbe Stunde lang auf den Bildschirm und die laufenden Linien. Es hat sehr lange gedauert


Aber es ist noch nicht zu mir gekommen. Obwohl ich nicht gelaufen bin. Was ist das



Юрий Зотов   (2003-05-19 15:27) [69]

> Malder © (19.05.03 15: 17)

Du ... renn - sieh. : o)
Es gibt eine unendliche Rekursion.



Malder   (2003-05-19 15:53) [70]

Ich habe es gestartet. Alles ok. Z-Laufwerk erschien:

Verstehe nicht...



Malder   (2003-05-19 15:54) [71]

Redid für subst z: / d

Scheibe Z: gereinigt. Vrosha wie es sein sollte



Юрий Федоров   (2003-05-19 15:59) [72]

>> Malder © (19.05.03 15: 54)
Sonst heißt die Batch-Datei nicht so
wal © (19.05.03 12: 39)



Malder   (2003-05-19 16:30) [73]

Verdammt :-))))))))))))))



Mike B.   (2003-05-19 16:43) [74]

> Malder © (19.05.03 16: 30)
Zum Thema :)



Malder   (2003-05-19 17:36) [75]

versucht :-)



AlexKniga   (2003-05-19 18:21) [76]

Art
TIndex = (crX, crY, crZ);
war
j, p: Index;

Für j: = Low (TIndex) bis Pred (p) tun
Beginnen
...
End;

Das Projekt wurde von TP nach Delphi übertragen. Alles funktioniert in TP, in Delphi wird eine Schleife ausgeführt, wenn p = crX ist.
Und das alles aufgrund der Tatsache, dass die interne Darstellung des Aufzählungstyps in TP eine Ganzzahl mit Vorzeichen ist, während sie in Delphi ohne Vorzeichen ist.



Asteroid   (2003-05-20 02:21) [77]

Benutzte die alte OpenGL-Einheit. Es hatte nicht die Funktionen glGenTextures, glDeleteTextures und einige andere. Dementsprechend habe ich irgendwo Prototypen gefunden und verschrieben. Das Programm war in einigen Fällen fehlerhaft, in anderen war alles in Ordnung. Ich vermutete, dass es sich um die falschen Prototypen handelte. Ich habe eine neuere GL12-Einheit gefunden, in der es Funktionen gab, aber ich habe vergessen, die alten Prototypen zu löschen ... das Programm, essno, war fehlerhaft. Zwei Wochen lang habe ich darüber nachgedacht, was los ist - und erst jetzt habe ich festgestellt, dass ich vergessen habe, sie zu entfernen :)



kaif   (2003-05-20 03:12) [78]

Supertupismus ist mir heute eingefallen.
Im Zusammenhang mit der Einführung einer neuen Zahlungsauftragsform von Juni 1 zu 2003 wurden mir vor einem Monat Unterlagen zu deren Erstellung zugesandt. Die Dokumente der Zentralbank enthielten die Größe und Anzahl der Felder. Die Felder TIN und PPC wurden eingegeben. Plus die mysteriösen Felder unten.
In diesen Dokumenten gab es keinen Hinweis darauf, was dort einzutragen ist ... Soweit ich es verstehe, brauchen dort nichts einzugebendass diese Felder von der Bank selbst ausgefüllt werden. Redid das Programm PlatPor unter dem neuen Format und legte es auf der Website. Nach der Demoversion von 2-Sites, auf denen sie heruntergeladen wurde, erhalten mehr als 200-Leute einen Brief, in dem der Kunde nach solchen Dingen fragt ... Ich habe meine Haare zu Berge. Beginnt dringend, es herauszufinden. Es stellt sich heraus, dass diese Felder ausgefüllt werden müssen und es ein weiteres Dokument von 3 mit Marken wie GTK, GNS und anderen gibt. Ich hatte gestern fast einen Herzinfarkt ... Heute habe ich den ganzen Tag nachgearbeitet.
Übrigens, wenn jemand an meiner neuen Zahlung interessiert ist, besonders wenn jemand die falsche Option heruntergeladen hat - ich empfehle (verzeih mir die Moderatoren). Sie können es auf meiner Website herunterladen
http://www.lclassic.ru/
Datenbanken werden nicht verwendet. Alles ist in Textdateien gespeichert.



vidiv   (2003-05-20 07:15) [79]

Das ewige Problem, aufgrund dessen ich fast meine Schraube vergraben hätte ... Sobald ich versuchte, es zu behandeln (nicht nur mit meiner Faust) ... wurde es von jedem anderen Gerät gelesen, aber meins war es nicht ... ich war wirklich einen halben Tag lang dumm es war schade, es zu formatieren ...
Aber am Ende stellte sich heraus, dass es sich nur um das Booten von Diskette handelte. yo



Vlad Oshin   (2003-05-21 15:01) [80]

heute habe ich mich fast erschossen
alles funktioniert gut und stürzt plötzlich ab
was gerade nicht gedacht :)
dachte aber nicht an die stelle von ini zu lesen
gestern manuell korrigiert (so schnell, verdammt noch mal) - aber nicht so wenig, nur heute habe ich es kaum auf F7 gefunden, uff

Bedrohung
Vergib mir XX und ihre Mutter :)



Mike B.   (2003-05-21 15:18) [81]

Ich schreibe ein Buchhaltungsprogramm (genauer gesagt, ich füge es im Laufe der Nutzung hinzu - so geschah es). Die Funktion berechnet die Buchungsparameter (Unterkontowerte), die für mehrere Buchungen zweimal (für Lastschrift und Gutschrift) aufgerufen werden sollen. Ich denke für kurze Zeit schreibe ich einen Anruf, der Rest ist Kopieren / Einfügen / Bearbeiten. Natürlich habe ich vergessen, ein paar Stellen zu bearbeiten. Nun, Genosse, der meine Anrufe testet, sagt in einer solchen Operation, solche Lastschriftbuchungen seien alle auf Kredit-Unsinn korrekt. Ich habe es mir selbst angeschaut, ich verstehe schnell, was los ist, ich repariere es (ich ändere die Lastschrift für Gutschrift an den richtigen Stellen).
Jetzt beginnt die Dummheit tatsächlich: In diesem Moment bin ich abgelenkt und verlasse den Computer für 10 Minuten. Nachdem ich zurückgekehrt bin, erinnere ich mich, dass ich mit diesem Problem fertig sein muss. Ich steige in dasselbe Modul ein und ändere jetzt das Guthaben für die Abbuchung überall, einschließlich bereits behoben Orte. Ich schicke es zu Testzwecken, nach einer Weile läutet die Glocke: Das Bild ist absolut symmetrisch zum vorherigen: Auf dem Leihschein richtig, auf der Abbuchung des Blödsinns :) Hier ist so ein Zirkus



Seiten: 1 2 3 ganze Branche

Forum: "schnappen";
Aktuelles Archiv: 2003.06.09;
Herunterladen: [xml.tar.bz2];

nach oben









Speicher: 0.95 MB
Zeit: 0.088 c
3-26334
DLans
2003-05-19 04:13
2003.06.09
Low-Level-Datenbankorganisation


14-26789
KA-87
2003-05-23 22:30
2003.06.09
Arbeite mit dem Bergmann ...


14-26674
Kair
2003-05-24 13:13
2003.06.09
DelphiX Info


14-26735
Sergey13
2003-05-16 09:39
2003.06.09
Baut Amerika den Kommunismus auf?


3-26384
Dimaz-z
2003-05-21 12:43
2003.06.09
Richten Sie die Einträge in der Datenbank alphabetisch aus.





Afrikanisch Albanien Arabisch Armenisch Aserbaidschanisch Baskisch Weißrusse Bulgarian katalanisch Chinesisch (vereinfacht) Chinesische Tradition) kroatisch Tschechisch Dänisch Dutch Englisch estnisch Philippinisch Finnish Französisch
Galicisch Georgisch Deutsch Griechisch haitian Creole Hebräisch Hindi ungarisch isländisch Indonesian irisch Italian Japanisch Koreanisch lettisch litauisch Makedonisch Malay Maltesisch Norwegian
persisch Polnisch Portugiesisch Rumänisch Russisch serbisch Slovakisch Slowenisch Spanisch Suaheli Swedish Thai Türkisch Ukrainisch Urdu Vietnamesisch Walisisch Jiddisch Bengalisch bosnisch
cebuano Esperanto Gujarati Hausa Hmong igbo Javanisch kannada khmer Laotisch Lateinisch Maorisch Marathi Mongolisch nepali Pandschabi Somalisch Tamilisch Telugu Yoruba
Zulu
Английский Französisch Deutsch Italienisch Португальский Russisch Spanisch