Autor |
Beitrag |
Palladin007
      
Beiträge: 1282
Erhaltene Danke: 182
Windows 11 x64 Pro
C# (Visual Studio Preview)
|
Verfasst: So 25.11.12 20:36
Moin
wir sollen für den Kunst-Unterricht ein Logo in einem eigenen Bild sinngemäß darstellen.
Ich habe als Logo das Windows-Logo gewählt und möchte es als eine Art Fenster darstellen, dass eine bunte und schöne Landschaft zeigt. Der Raum, in dem der Betrachter steht, ist vollständig schwarz und über und über mit weißem oder grauem Text überzogen.
Das soll zeigen, dass die grafischen Windows-Versionen den farbigen Ausblick aus dem öden und langweiligen MS-DOS bieten.
Allerdings benötige ich dafür auch etwas, das ich in den Hintergrund schreiben kann und da ich Perfektionist bin, möchte ich natürlich ein funktionierendes Programm, beispielsweise in QBasic geschrieben, an die Wand schreiben, jedoch benötige ich dafür einen Quellcode, der groß genug wäre.
Hat jemand irgendwo ein altes Programm rum schwirren, von dem ich den Quellcode in meinem Bild darstellen darf?
Gruß
|
|
wunsiedler
      
Beiträge: 506
Erhaltene Danke: 4
Win7
|
Verfasst: So 25.11.12 20:41
Bitteschön. Ist zwar kein QBasic aber besser als nix
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: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: 328: 329: 330: 331: 332: 333: 334: 335: 336: 337: 338: 339: 340: 341: 342: 343: 344: 345: 346: 347: 348: 349: 350: 351: 352: 353: 354: 355: 356: 357: 358: 359: 360: 361: 362: 363: 364: 365: 366: 367: 368: 369: 370: 371: 372: 373: 374: 375: 376: 377: 378: 379: 380: 381: 382: 383: 384: 385: 386: 387: 388: 389: 390: 391: 392: 393: 394: 395: 396: 397: 398: 399: 400: 401: 402: 403: 404: 405: 406: 407: 408: 409: 410: 411: 412: 413: 414: 415: 416: 417: 418: 419: 420: 421: 422: 423: 424: 425: 426: 427: 428: 429: 430: 431: 432: 433: 434: 435: 436: 437: 438: 439: 440: 441: 442: 443: 444: 445: 446: 447: 448: 449: 450: 451: 452: 453: 454: 455: 456: 457: 458: 459: 460: 461: 462: 463: 464: 465: 466: 467: 468: 469: 470: 471: 472: 473: 474: 475: 476: 477: 478: 479: 480: 481: 482: 483: 484: 485: 486: 487: 488: 489: 490: 491: 492: 493: 494: 495: 496: 497: 498: 499: 500: 501: 502: 503: 504: 505: 506: 507: 508: 509: 510: 511: 512: 513: 514: 515: 516: 517: 518: 519: 520: 521: 522: 523: 524: 525: 526: 527: 528: 529: 530: 531: 532: 533: 534: 535: 536: 537: 538: 539: 540: 541: 542: 543: 544: 545: 546: 547: 548: 549: 550: 551: 552: 553: 554: 555: 556: 557: 558: 559: 560: 561: 562: 563: 564: 565: 566: 567: 568: 569: 570: 571: 572: 573: 574: 575: 576: 577: 578: 579: 580: 581: 582: 583: 584: 585: 586: 587: 588: 589: 590: 591: 592: 593: 594: 595: 596: 597: 598: 599: 600: 601: 602: 603: 604: 605: 606: 607: 608: 609: 610: 611: 612: 613: 614: 615: 616: 617: 618: 619: 620: 621: 622: 623: 624: 625: 626: 627: 628: 629: 630: 631: 632: 633: 634: 635: 636: 637: 638: 639: 640: 641: 642: 643: 644: 645: 646: 647: 648: 649: 650: 651: 652: 653: 654: 655: 656: 657: 658: 659: 660: 661: 662: 663: 664: 665: 666: 667: 668: 669: 670: 671: 672: 673: 674: 675: 676: 677: 678: 679: 680: 681: 682: 683: 684: 685: 686: 687: 688: 689: 690: 691: 692: 693: 694: 695: 696: 697: 698: 699: 700: 701: 702: 703: 704: 705: 706: 707: 708: 709: 710: 711: 712: 713: 714: 715: 716: 717: 718: 719: 720: 721: 722: 723: 724: 725: 726: 727: 728: 729: 730: 731: 732: 733: 734: 735: 736: 737: 738: 739: 740: 741: 742: 743: 744: 745: 746: 747: 748: 749: 750: 751: 752: 753: 754: 755: 756: 757: 758: 759: 760: 761: 762: 763: 764: 765: 766: 767: 768: 769: 770: 771: 772: 773: 774: 775: 776: 777: 778: 779: 780: 781: 782: 783: 784: 785: 786: 787: 788: 789: 790: 791: 792: 793: 794: 795: 796: 797: 798: 799: 800: 801: 802: 803: 804: 805: 806: 807: 808: 809: 810: 811: 812: 813: 814: 815: 816: 817: 818: 819: 820: 821: 822: 823: 824: 825: 826: 827: 828: 829: 830: 831: 832: 833: 834: 835: 836: 837: 838: 839: 840: 841: 842: 843: 844: 845: 846: 847: 848: 849: 850: 851: 852: 853: 854: 855: 856: 857: 858: 859: 860: 861: 862: 863: 864: 865: 866: 867: 868: 869: 870: 871: 872: 873: 874: 875: 876: 877: 878: 879: 880: 881: 882: 883: 884: 885: 886: 887: 888: 889: 890: 891: 892: 893: 894: 895: 896: 897: 898: 899: 900: 901: 902: 903: 904: 905: 906: 907: 908: 909: 910: 911: 912: 913: 914: 915: 916: 917: 918: 919: 920: 921: 922: 923: 924: 925: 926: 927: 928: 929: 930: 931: 932: 933: 934: 935: 936: 937: 938: 939: 940: 941: 942: 943: 944: 945: 946: 947: 948: 949: 950: 951: 952: 953: 954: 955: 956: 957: 958: 959: 960: 961: 962: 963: 964: 965: 966: 967: 968: 969: 970: 971: 972: 973: 974: 975: 976: 977: 978: 979: 980: 981: 982: 983: 984: 985: 986: 987: 988: 989: 990: 991: 992: 993: 994: 995: 996: 997: 998: 999: 1000: 1001: 1002: 1003: 1004: 1005: 1006: 1007: 1008: 1009: 1010: 1011: 1012: 1013: 1014: 1015: 1016: 1017: 1018: 1019: 1020: 1021: 1022: 1023: 1024: 1025: 1026: 1027: 1028: 1029: 1030: 1031: 1032: 1033: 1034: 1035: 1036: 1037: 1038: 1039: 1040: 1041: 1042: 1043: 1044: 1045: 1046: 1047: 1048: 1049: 1050: 1051: 1052: 1053: 1054: 1055: 1056: 1057: 1058: 1059: 1060: 1061: 1062: 1063: 1064: 1065: 1066: 1067: 1068: 1069: 1070: 1071: 1072: 1073: 1074: 1075: 1076: 1077: 1078: 1079: 1080: 1081: 1082: 1083: 1084: 1085: 1086: 1087: 1088: 1089: 1090: 1091: 1092: 1093: 1094: 1095: 1096: 1097: 1098: 1099: 1100: 1101: 1102: 1103: 1104: 1105: 1106: 1107: 1108: 1109: 1110: 1111: 1112: 1113: 1114: 1115: 1116: 1117: 1118: 1119: 1120: 1121: 1122: 1123: 1124: 1125: 1126: 1127: 1128: 1129: 1130: 1131: 1132: 1133: 1134: 1135: 1136: 1137: 1138: 1139: 1140: 1141: 1142: 1143: 1144: 1145: 1146: 1147: 1148: 1149: 1150: 1151: 1152: 1153: 1154: 1155: 1156: 1157: 1158: 1159: 1160: 1161: 1162: 1163: 1164: 1165: 1166: 1167: 1168: 1169: 1170: 1171: 1172: 1173: 1174: 1175: 1176: 1177: 1178: 1179: 1180: 1181: 1182: 1183: 1184: 1185: 1186: 1187: 1188: 1189: 1190: 1191: 1192: 1193: 1194: 1195: 1196: 1197: 1198: 1199: 1200: 1201: 1202: 1203: 1204: 1205: 1206: 1207: 1208: 1209: 1210: 1211: 1212: 1213: 1214: 1215: 1216: 1217: 1218: 1219: 1220: 1221: 1222: 1223: 1224: 1225: 1226: 1227: 1228: 1229: 1230: 1231: 1232: 1233: 1234: 1235: 1236: 1237: 1238: 1239: 1240: 1241: 1242: 1243: 1244: 1245: 1246: 1247: 1248: 1249: 1250: 1251: 1252: 1253: 1254: 1255: 1256: 1257: 1258: 1259: 1260: 1261: 1262: 1263: 1264: 1265: 1266: 1267: 1268: 1269: 1270: 1271: 1272: 1273: 1274: 1275: 1276: 1277: 1278: 1279: 1280: 1281: 1282: 1283: 1284: 1285: 1286: 1287: 1288: 1289: 1290: 1291: 1292: 1293: 1294: 1295: 1296: 1297: 1298: 1299: 1300: 1301: 1302: 1303: 1304: 1305: 1306: 1307: 1308: 1309: 1310: 1311: 1312: 1313: 1314: 1315: 1316: 1317: 1318: 1319: 1320: 1321: 1322: 1323: 1324: 1325: 1326: 1327: 1328: 1329: 1330: 1331: 1332: 1333: 1334: 1335: 1336: 1337: 1338: 1339: 1340: 1341: 1342: 1343: 1344: 1345: 1346: 1347: 1348: 1349: 1350: 1351: 1352: 1353: 1354: 1355: 1356: 1357: 1358: 1359: 1360: 1361: 1362: 1363: 1364: 1365: 1366: 1367: 1368: 1369: 1370: 1371: 1372: 1373: 1374: 1375: 1376: 1377: 1378: 1379: 1380: 1381: 1382: 1383: 1384: 1385: 1386: 1387: 1388: 1389: 1390: 1391: 1392: 1393:
| unit Uni; interface uses Windows, Messages, SysUtils, Variants, Classes, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Grids, Menus, Gauges, ComCtrls, Buttons, Mask; type TForm1 = class(TForm) Edit1: TEdit; Label3: TLabel; Label4: TLabel; Edit2: TEdit; Label5: TLabel; Label6: TLabel; Edit3: TEdit; Edit4: TEdit; Label7: TLabel; Edit5: TEdit; Label8: TLabel; Edit6: TEdit; Label9: TLabel; Edit8: TEdit; Label10: TLabel; Label11: TLabel; Edit9: TEdit; Button5: TButton; Button6: TButton; ComboBox1: TComboBox; Label13: TLabel; Edit10: TEdit; Edit11: TEdit; Label14: TLabel; Label15: TLabel; Edit12: TEdit; Label16: TLabel; Edit13: TEdit; Label17: TLabel; Edit14: TEdit; Label18: TLabel; Edit15: TEdit; Label19: TLabel; Edit16: TEdit; Button11: TButton; Button12: TButton; Button13: TButton; Label20: TLabel; ComboBox2: TComboBox; Label21: TLabel; ComboBox3: TComboBox; Label22: TLabel; Label23: TLabel; Edit17: TEdit; Label24: TLabel; Label25: TLabel; Edit19: TEdit; Button14: TButton; Button15: TButton; ComboBox4: TComboBox; Label26: TLabel; Button16: TButton; Label27: TLabel; ComboBox5: TComboBox; Button17: TButton; Label28: TLabel; Edit20: TEdit; sg1: TStringGrid; Button19: TButton; sg2: TStringGrid; Button21: TButton; Button20: TButton; Button22: TButton; Button24: TButton; Button25: TButton; sg3: TStringGrid; Button1: TButton; Bevel1: TBevel; Bevel2: TBevel; StatusBar1: TStatusBar; Label32: TLabel; MainMenu1: TMainMenu; Datei1: TMenuItem; Info1: TMenuItem; Beenden1: TMenuItem; Listen1: TMenuItem; Kundenliste1: TMenuItem; Artikelliste1: TMenuItem; Verkaufsliste1: TMenuItem; AlleVerkauftenaRtikel1: TMenuItem; AllebezahltenArtikel1: TMenuItem; AlleverkauftenArtikel2: TMenuItem; Aktionen1: TMenuItem; AlleartikelmitMenge0lschen1: TMenuItem; AlleverschicktenArtikellschen1: TMenuItem; Archiv1: TMenuItem; KompletteListe1: TMenuItem; Label1: TLabel; Label2: TLabel; Label12: TLabel; Timer1: TTimer; Label29: TLabel; Label31: TLabel; Label30: TLabel; Label33: TLabel; Label34: TLabel; Label35: TLabel; Label36: TLabel; Label37: TLabel; Label38: TLabel; dtp1: TDateTimePicker; dtp2: TDateTimePicker; procedure FormCreate(Sender: TObject); procedure Image3Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button13Click(Sender: TObject); procedure Button19Click(Sender: TObject); procedure ComboBox1Select(Sender: TObject); procedure Button11Click(Sender: TObject); procedure Button12Click(Sender: TObject); procedure Button14Click(Sender: TObject); procedure Button21Click(Sender: TObject); procedure sg2SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); procedure sg1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); procedure ComboBox2Select(Sender: TObject); procedure ComboBox3Select(Sender: TObject); procedure Edit17Exit(Sender: TObject); procedure Button15Click(Sender: TObject); procedure ComboBox4Select(Sender: TObject); procedure Button16Click(Sender: TObject); procedure ComboBox5Select(Sender: TObject); procedure Button17Click(Sender: TObject); procedure Button22Click(Sender: TObject); procedure Button20Click(Sender: TObject); procedure Button24Click(Sender: TObject); procedure Button25Click(Sender: TObject); procedure sg3SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); procedure Button1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure Beenden1Click(Sender: TObject); procedure AlleartikelmitMenge0lschen1Click(Sender: TObject); procedure AlleverschicktenArtikellschen1Click(Sender: TObject); procedure KompletteListe1Click(Sender: TObject); procedure Info1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
private public end;
var Form1: TForm1;
implementation
uses Unit2, Unit3;
{$R *.dfm}
const demo = 0;
type TArtikel = record artnr : string[15]; artbez : string[50]; startpreis : real; sofortkauf : real; menge : byte; versand : real; beginn : string[20]; dauer : byte; egebuehr : real; status : byte; end; var artikel: array[0..999] of TArtikel; var artikel_datei : File of TArtikel; var artikel_anzahl,artikel_zeiger,artikel_neu : integer; const artikelfile = 'artikel.bum';
type TKunde = record vorname : string[50]; nachname : string[50]; strasse : string[50]; plz : string[10]; ort : string[50]; email : string[50]; ebayname : string[50]; end; var kunde: array[0..999] of TKunde; var kunde_datei: File of Tkunde; var kunde_anzahl, kunde_zeiger,kunde_neu: integer; const kundefile ='kunde.bum';
type TVerkauf = record artikel : string[50]; kaeufer : string[50]; endpreis : real; datum : string[20]; vkgebuehr : real; menge : integer; status : integer; end; var verkauf : array[0..999] of TVerkauf; var verkauf_datei : File of TVerkauf; var verkauf_anzahl,verkauf_zeiger : integer; const verkauffile = 'verkauf.bum';
type TArchiv = record
artnr : string[15]; artbez : string[50]; startpreis : real; sofortkauf : real; versand : real; beginn : string[20]; dauer : byte; egebuehr : real;
vorname : string[50]; nachname : string[50]; strasse : string[50]; plz : string[10]; ort : string[50]; email : string[50]; ebayname : string[50];
endpreis : real; datum : string[20]; vkgebuehr : real; menge : integer;
end; var archiv : array[0..1] of TArchiv; var archiv_datei : File of TArchiv; const archivfile = 'archiv.bum';
function verkauf_anzeigen(var a:integer):integer; var x,y,z:integer; var sta : array[0..9] of string; begin z:=1; sta[1]:='Verkauft'; sta[2]:='Bezahlt'; sta[3]:='Verschickt'; sta[4]:='Nicht verkauft'; for x := 1 to verkauf_anzahl do begin for y := 0 to 7 do begin Form1.sg3.Cells[y,x]:=''; end; end; if(verkauf_anzahl >0)then begin for x := 1 to verkauf_anzahl do begin if((a = verkauf[x].status) or (a = 0))then begin with verkauf[x] do begin form1.sg3.Cells[0,z]:=artikel; form1.sg3.Cells[2,z]:=IntToStr(menge); form1.sg3.Cells[3,z]:=kaeufer; form1.sg3.Cells[4,z]:=datum; form1.sg3.Cells[5,z]:=FormatFloat('0.00',endpreis)+' €'; form1.sg3.Cells[7,z]:=sta[status]; end; for y :=1 to artikel_anzahl do begin if(artikel[y].artnr = verkauf[z].artikel)then break; end; form1.sg3.Cells[1,z]:=artikel[y].artbez; form1.sg3.Cells[6,z]:=FormatFloat('0.00',artikel[y].versand)+' €'; z:=z+1; end; end; end; Form1.sg3.RowCount:=z; Form1.Label32.Caption:='Verkaufsliste'; form1.sg2.Visible := false; form1.sg1.Visible := false; form1.sg3.Visible := true; verkauf_anzeigen:=0; end;
function vkgebuehr(vk: real):real; var z: real; begin z:=0; if(vk < 50)then z := vk * 0.05; if((vk >= 50) and (vk < 500.01))then z := 2.5 + vk * 0.04; if (vk >500) then z := 20.5 + vk * 0.02; z:=z*100; z := round(z); z := z/100; vkgebuehr := z; end;
function grid_loeschen():integer; var x,y: integer ; begin for y:= 1 to artikel_anzahl +1 do
begin for x :=0 to 9 do begin Form1.sg1.Cells[x,y]:=''; end; end; grid_loeschen := 1; end;
function artikel_anzeige():integer ; begin with artikel[artikel_zeiger] do begin Form1.Edit1.Text := (artnr); Form1.Edit2.Text := artbez; Form1.Edit3.Text := formatfloat('0.00',startpreis); Form1.Edit4.Text := FormatFloat('0.00',sofortkauf); Form1.Edit5.Text := IntToStr(menge); Form1.Edit6.Text := FormatFloat('0.00',versand); Form1.dtp1.Date := StrToDate(beginn); Form1.Edit8.Text := IntToStr(dauer); Form1.Edit9.Text := FormatFloat('0.00',egebuehr); end; form1.sg1.RowCount:= artikel_anzahl +1; artikel_anzeige:=1; end;
function artikel_einlesen():integer; begin AssignFile(artikel_datei,artikelfile); if not (fileexists(artikelfile))then begin rewrite(artikel_datei);
end; Reset(artikel_datei); if(FileSize(artikel_datei)>0)then begin artikel_zeiger:=0;artikel_anzahl:=0; while not EOF(artikel_datei) do begin artikel_zeiger:=artikel_zeiger+1;artikel_anzahl:=artikel_anzahl+1; read(artikel_datei,artikel[artikel_zeiger]); end; artikel_zeiger:=1;artikel_anzeige; end else begin Form1.Edit2.Text:='Keine Daten!'; artikel_zeiger:=0;artikel_anzahl:=0; grid_loeschen; end; artikel_einlesen:=1; CloseFile(artikel_datei); end;
function verkauf_speichern():integer; var x:integer; begin AssignFile(verkauf_datei,verkauffile); ReWrite(verkauf_datei); for x :=1 to verkauf_anzahl do begin if(verkauf[x].status < 10) then begin write(verkauf_datei,verkauf[x]); end; end; CloseFile(verkauf_datei); verkauf_speichern:=1; end;
function verkauf_einlesen():integer; begin AssignFile(verkauf_datei,verkauffile); if not (fileexists(verkauffile))then begin rewrite(verkauf_datei);
end; Reset(verkauf_datei); verkauf_zeiger:=0;verkauf_anzahl:=0; if(FileSize(verkauf_datei)>0)then begin while not EOF(verkauf_datei) do begin verkauf_zeiger:=verkauf_zeiger+1;verkauf_anzahl:=verkauf_anzahl+1; read(verkauf_datei,verkauf[verkauf_zeiger]); end; end ; verkauf_einlesen:=1; CloseFile(verkauf_datei); end;
function artikel_speichern():integer; var x:integer; begin AssignFile(artikel_datei,artikelfile); ReWrite(artikel_datei); for x :=1 to artikel_anzahl do begin if(artikel[x].status < 10) then begin write(artikel_datei,artikel[x]); end; end; CloseFile(artikel_datei); artikel_speichern:=1; end;
function cb_suchen():integer ; var x:integer; begin Form1.ComboBox1.Items.Clear ; for x := 1 to artikel_anzahl do begin Form1.ComboBox1.Items.Add(artikel[x].artbez); end; Form1.ComboBox1.Text:=''; cb_suchen:=1; end;
function cb_artikel():integer ; var x:integer; begin Form1.ComboBox2.Items.Clear ; for x := 1 to artikel_anzahl do begin if(artikel[x].menge > 0) then Form1.ComboBox2.Items.Add(artikel[x].artnr); end; Form1.ComboBox2.Text:=''; cb_artikel:=1; end;
function cb_kaeufer():integer; var x:integer; begin Form1.ComboBox3.Items.Clear; for x := 1 to kunde_anzahl do begin Form1.ComboBox3.Items.Add(kunde[x].ebayname); end; cb_kaeufer:=1; end;
function cb_verkauf():integer; var x:integer; begin Form1.ComboBox4.Items.Clear; Form1.ComboBox5.Items.Clear; for x := 1 to verkauf_anzahl do begin if(verkauf[x].status = 1) then Form1.ComboBox4.Items.Add(verkauf[x].artikel+'--'+verkauf[x].kaeufer); if(verkauf[x].status = 2) then Form1.ComboBox5.Items.Add(verkauf[x].artikel+'--'+verkauf[x].kaeufer);
end; cb_verkauf:=1; end;
function kunde_speichern():integer; var x:integer; begin AssignFile(kunde_datei,kundefile); ReWrite(kunde_datei); for x :=1 to kunde_anzahl do begin write(kunde_datei,kunde[x]); end; CloseFile(kunde_datei); kunde_speichern:=1; end;
function kunde_anzeige():integer; begin if(kunde_anzahl >0) then begin with kunde[kunde_zeiger] do begin Form1.Edit10.Text := vorname; Form1.Edit11.Text := nachname; Form1.Edit12.Text := strasse; Form1.Edit13.Text := plz; Form1.Edit14.Text := ort; Form1.Edit15.Text := email; Form1.Edit16.Text := ebayname; end ;
end else begin Form1.Edit10.Text := 'Keine Daten'; Form1.Edit11.Text := ''; Form1.Edit12.Text := ''; Form1.Edit13.Text := ''; Form1.Edit14.Text := ''; Form1.Edit15.Text := ''; Form1.Edit16.Text := ''; end; form1.sg2.RowCount:= kunde_anzahl +1; kunde_anzeige :=1; end;
function kunde_einlesen():integer; begin AssignFile(kunde_datei,kundefile); if not (fileexists(kundefile))then begin rewrite(kunde_datei); end; Reset(kunde_datei); if(FileSize(kunde_datei)>=0)then begin kunde_zeiger:=0;kunde_anzahl:=0; while not EOF(kunde_datei) do begin kunde_zeiger:=kunde_zeiger+1;kunde_anzahl:=kunde_anzahl+1; read(kunde_datei,kunde[kunde_zeiger]); end; kunde_zeiger:=1;kunde_anzeige; end else begin kunde_zeiger:=0;kunde_anzahl:=0; kunde_anzeige; end; kunde_einlesen:=1; CloseFile(kunde_datei); end;
procedure TForm1.FormCreate(Sender: TObject); begin Form1.Width :=1000; Form1.Height := 665; sg1.Cells[0,0]:='Artikelnummer'; sg1.Cells[1,0]:='Bezeichnung'; sg1.Cells[2,0]:='Menge'; sg1.Cells[3,0]:='Startpreis'; sg1.Cells[4,0]:='Sofortkauf'; sg1.Cells[5,0]:='Versand'; sg1.Cells[6,0]:='Beginn'; sg1.Cells[7,0]:='Dauer'; sg1.Cells[8,0]:='E-Gebühr'; sg1.Cells[9,0]:='Status'; artikel_zeiger:=0; artikel_anzahl:=0; artikel_einlesen; cb_suchen; cb_artikel; Button19Click(Edit1); sg2.Cells[0,0]:='Vorname'; sg2.Cells[1,0]:='Nachname'; sg2.Cells[2,0]:='Straße'; sg2.Cells[3,0]:='PLZ'; sg2.Cells[4,0]:='Wohnort'; sg2.Cells[5,0]:='Emailadresse'; sg2.Cells[6,0]:='Ebayname'; kunde_einlesen; cb_kaeufer; verkauf_einlesen; cb_verkauf; sg3.Cells[0,0]:='Artikelnummer'; sg3.Cells[1,0]:='Bezeichnung'; sg3.Cells[2,0]:='Menge'; sg3.Cells[3,0]:='Käufer'; sg3.Cells[4,0]:='Datum'; sg3.Cells[5,0]:='Preis'; sg3.Cells[6,0]:='Versand'; sg3.Cells[7,0]:='Status'; dtp2.Date := (Date); end; procedure TForm1.Image3Click(Sender: TObject); begin Form1.Close; end;
procedure TForm1.Button5Click(Sender: TObject); begin Form1.Edit1.Text := ''; Form1.Edit2.Text := ''; Form1.Edit3.Text := '0'; Form1.Edit4.Text := '0'; Form1.Edit5.Text := '0'; Form1.Edit6.Text := '0'; Form1.dtp1.Date := date; Form1.Edit8.Text := '0'; Form1.Edit9.Text := '0'; artikel_neu := 1; Form1.Edit1.SetFocus ; end;
procedure TForm1.Button6Click(Sender: TObject); var x : integer; var m : real; begin if(demo =1) then begin if(artikel_anzahl > 4) then begin Showmessage('Diese Version ist auf 5 Artikel beschränkt!');Exit; end; end;
for x := 1 to artikel_anzahl do begin if ((Edit1.Text = artikel[x].artnr) and (artikel_neu = 1))then begin Showmessage('Es gibt bereits einen Artikel mit der selben Artikelnummer!'); Edit1.SetFocus;exit; end; end;
if(length(Edit1.Text)<>10) then begin ShowMessage('Bitte die 10 stellige Ebayartikelnummer eingeben!'); Edit1.SetFocus;Exit; end;
try m := StrToFloat(Edit1.Text); except ShowMessage('Ungültige Artikelnummer!');Edit1.SetFocus;Exit; end;
if(length(Edit2.Text)=0)then begin ShowMessage('Keine Bezeichnung für den Artikel eingegeben!'); Edit2.SetFocus;Exit; end;
try if(Edit3.Text='')then Edit3.Text:='0'; m := StrTofloat(Edit3.Text); except ShowMessage('Ungültiger Startpreis!');Edit3.SetFocus;exit; end;
try if(Edit4.Text='')then Edit4.Text:='0'; m := StrToFloat(Edit4.Text); if((m = 0) and (StrTofloat(Edit3.Text) =0))then begin ShowMessage('Startpreis und Sofortkauf stehen auf 0 Euro. Ungültig!'); Exit; end; except ShowMessage('Ungültiger Sofortkauf - Preis!');Edit4.SetFocus;exit; end;
try if(Edit5.Text='')then Edit5.Text:='0'; m := StrToFloat(Edit5.Text); if(m < 1)then begin if(m = -1)then begin Edit5.Text :='0'; end else begin ShowMessage('Menge ist kleiner 1!'); Edit5.SetFocus;Exit; end; end; except ShowMessage('Ungültige Menge!');Edit5.SetFocus;exit; end;
try if(Edit6.Text='')then Edit6.Text:='0'; m := StrToFloat(Edit6.Text); except ShowMessage('Ungültiger Versandpreis');Edit6.SetFocus;exit; end;
try if(Edit8.Text='')then Edit8.Text:='0'; m := StrToFloat(Edit8.Text); except ShowMessage('Ungültige Dauer!');Edit8.SetFocus;Exit; end; if(StrTofloat(edit8.Text)= 0)then begin ShowMessage('Dauer muss größer 0 sein.');Exit; end;
try if(Edit9.Text='')then Edit9.Text:='0'; m := StrToFloat(Edit9.Text); except ShowMessage('Ungültige Einstellgebühr!');Edit9.SetFocus;Exit; end;
if(artikel_neu = 1)then begin artikel_anzahl := artikel_anzahl +1; artikel_zeiger := artikel_anzahl; artikel_neu :=0; end; if(artikel_anzahl >0)then begin with artikel[artikel_zeiger] do begin artnr := (Edit1.Text); artbez := Edit2.Text; startpreis := StrToFloat(Edit3.Text); sofortkauf := StrToFloat(Edit4.Text); menge := StrToInt(Edit5.Text); versand := StrToFloat(Edit6.Text); beginn := DateToStr(dtp1.Date); dauer := StrToInt(Edit8.Text); egebuehr := StrToFloat(Edit9.Text); status := 1; end; artikel_speichern; artikel_anzeige; cb_suchen; cb_artikel; button19click(edit1); end; showmessage('Artikel wurde gespeichert.'); end;
procedure TForm1.Button13Click(Sender: TObject); var frage,x : integer; begin if(artikel_neu = 1 ) then begin artikel_neu:=0;exit; end; for x := 1 to verkauf_anzahl do begin if (verkauf[x].artikel = Edit1.Text) then begin ShowMessage('Dieser Artikel wird noch für den Verkauf gebraucht und deshalb nicht gelöscht.'); exit; end; end; frage := MessageDLGPosHelp(artikel[artikel_zeiger].artbez+' wirklich löschen?',mtConfirmation,[mbYes,mbNo],1,-1,-1,'xx'); if(frage=6)then begin if(artikel_anzahl>0)then begin artikel[artikel_zeiger].status := 99; if(artikel_anzahl = 1)then artikel_anzahl :=0; artikel_speichern; artikel_einlesen; button19click(edit1); cb_suchen; cb_artikel; end; end; end;
procedure TForm1.Button19Click(Sender: TObject); var x,m:integer; begin grid_loeschen; sg1.Visible := true ; sg2.Visible:=false ; sg3.Visible:=false ; Label32.Caption := 'Artikelliste'; if(artikel_anzahl >0)then begin sg1.Canvas.TextExtent('right'); for m := 1 to artikel_anzahl do begin x := artikel_anzahl - m + 1; with artikel[m] do begin sg1.Cells[0,x]:= artnr; sg1.Cells[1,x]:= artbez; sg1.Cells[2,x]:= IntToStr(menge); sg1.Cells[3,x]:= FormatFloat('0.00 €',startpreis); sg1.Cells[4,x]:= FormatFloat('0.00 €',sofortkauf); sg1.Cells[5,x]:= FormatFloat('0.00 €',versand); sg1.Cells[6,x]:= beginn ; sg1.Cells[7,x]:= IntToStr(dauer); sg1.Cells[8,x]:= FormatFloat('0.00 €',egebuehr); sg1.Cells[9,x]:= IntToStr(status); end; end; sg1.RowCount:=artikel_anzahl+1; end else sg1.RowCount:=3; end;
procedure TForm1.ComboBox1Select(Sender: TObject); var such: string [50]; var x:integer; begin such:= ComboBox1.Text; for x :=1 to artikel_anzahl do begin if(artikel[x].artbez = such)then break; end; artikel_zeiger:=x; artikel_anzeige; end;
procedure TForm1.Button11Click(Sender: TObject); begin Edit10.Text := ''; Edit11.Text := ''; Edit12.Text := ''; Edit13.Text := ''; Edit14.Text := ''; Edit15.Text := ''; Edit16.Text := ''; kunde_neu := 1; Form1.Edit10.SetFocus ; end;
procedure TForm1.Button12Click(Sender: TObject); var x :integer; begin for x := 1 to kunde_anzahl do begin if((Edit16.Text = kunde[x].ebayname)and(kunde_neu = 1)) then begin ShowMessage('Es gibt schon einen Kunden mit Ebayname " '+ Edit16.Text+'" !');Exit; end; end; if (kunde_neu = 1) then begin kunde_anzahl := kunde_anzahl+1; kunde_zeiger := kunde_anzahl; kunde_neu:=0; end; if(kunde_anzahl >0)then begin with kunde[kunde_zeiger] do begin vorname := Edit10.Text; nachname := Edit11.Text; strasse := Edit12.Text; plz := Edit13.Text; ort := Edit14.Text; email := Edit15.Text; ebayname := Edit16.Text; end; end; kunde_speichern; cb_kaeufer; Button21Click(Edit1); ShowMessage('Käufer wurde gespeichert.'); end;
procedure TForm1.Button14Click(Sender: TObject); var x,frage:integer; begin frage := MessageDLGPosHelp(kunde[kunde_zeiger].ebayname+' wirklich löschen?',mtConfirmation,[mbYes,mbNo],1,-1,-1,'xx'); if(frage=6)then begin AssignFile(kunde_datei,kundefile); ReWrite(kunde_datei); for x :=1 to kunde_anzahl do begin if(x <> kunde_zeiger) then write(kunde_datei,kunde[x]); end; CloseFile(kunde_datei); Edit10.Text :=''; Edit11.Text :=''; Edit12.Text :=''; Edit13.Text :=''; Edit14.Text :=''; Edit15.Text :=''; Edit16.Text :=''; kunde_einlesen; cb_kaeufer ; Button21Click(Edit1); end; end;
procedure TForm1.Button21Click(Sender: TObject); var x,y,m: integer ; begin for y:= 1 to kunde_anzahl + 1 do begin for x :=0 to 6 do begin Form1.sg2.Cells[x,y]:=''; end; end; for m := 1 to kunde_anzahl do begin x := kunde_anzahl - m +1; with kunde[m] do begin sg2.Cells[0,x]:= vorname; sg2.Cells[1,x]:= nachname; sg2.Cells[2,x]:= strasse; sg2.Cells[3,x]:= plz; sg2.Cells[4,x]:= ort; sg2.Cells[5,x]:= email; sg2.Cells[6,x]:= ebayname; end; end; sg2.Visible := true; sg1.Visible := false; sg3.Visible:=false ; Label32.Caption:='Kundenliste'; kunde_anzeige; end;
procedure TForm1.sg2SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); var temp:integer; begin if(arow-1 < kunde_anzahl)then begin temp := kunde_anzahl - arow + 1; kunde_zeiger:=temp; kunde_anzeige; ComboBox3.Text := Edit16.Text; end; kunde_neu :=0; end;
procedure TForm1.sg1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); var temp:integer; begin if(arow-1<artikel_anzahl)then begin temp := artikel_anzahl-arow+1; artikel_zeiger:=temp ; artikel_anzeige; if(artikel[temp].menge > 0)then ComboBox2.Text := artikel[temp].artnr else ComboBox2.Text:=''; end; artikel_neu :=0; end;
procedure TForm1.ComboBox2Select(Sender: TObject); var such: string [50]; var x:integer; begin such:= ComboBox2.Text; for x :=1 to artikel_anzahl do begin if(artikel[x].artnr = such)then break; end; artikel_zeiger:=x; artikel_anzeige; if((artikel[x].startpreis = 0) and (artikel[x].sofortkauf > 0))then begin Edit17.Text := FormatFloat('0.00',Artikel[x].sofortkauf); end else Edit17.Text:='0'; dtp2.Date := Date; Edit19.Text := floatToStr(vkgebuehr(StrToFloat(Edit17.Text))); end;
procedure TForm1.ComboBox3Select(Sender: TObject); var such: string [50]; var x:integer; begin such:= ComboBox3.Text; for x :=1 to kunde_anzahl do begin if(kunde[x].ebayname = such)then break; end; kunde_zeiger:=x; kunde_anzeige; end;
procedure TForm1.Edit17Exit(Sender: TObject); begin if(Edit17.Text = '')then Edit17.Text :='0'; try Edit19.Text := floatToStr(vkgebuehr(StrToFloat(Edit17.Text))); except ShowMessage('Ungültiger Endpreis!');Exit; end;
dtp2.Date := Date; end;
procedure TForm1.Button15Click(Sender: TObject); var z:integer; var m : real; begin z:=0;
try m := StrTofloat(Edit17.Text); except ShowMessage('Ungültiger Endpreis!');exit; end;
try m := StrTofloat(Edit19.Text); except ShowMessage('Ungültige Verkaufsgebühr!');exit; end;
try m := StrToInt(Edit20.Text); except ShowMessage('Ungültige Menge!');exit; end;
if(StrToInt(Edit20.Text)> artikel[artikel_zeiger].menge)then begin ShowMessage('Menge ist zu groß.');exit; end;
if(StrToFloat(Edit17.Text) < artikel[artikel_zeiger].startpreis) then begin ShowMessage('Endpreis ist niedriger wie der Startpreis!');Exit; end;
if(Combobox3.Text = '')then z:=1; if(Combobox2.Text = '')then z:=1; if(Edit17.Text = '')then z:=1; if(Edit19.Text = '')then z:=1; if(Edit20.Text = '')then z:=1; if(z=0)then begin verkauf_anzahl := verkauf_anzahl + 1; verkauf_zeiger := verkauf_anzahl; with verkauf[verkauf_zeiger] do begin artikel := ComboBox2.Text; kaeufer := ComboBox3.Text; endpreis := StrToFloat(Edit17.Text); datum := DateToStr(dtp2.Date); vkgebuehr := StrToFloat(Edit19.Text); menge := StrToInt(Edit20.Text); status := 1; end ; verkauf_speichern; artikel[artikel_zeiger].menge := artikel[artikel_zeiger].menge - StrToInt(Edit20.Text); artikel_speichern; artikel_anzeige; button19click(edit1); ComboBox2.Text:=''; ComboBox3.Text:=''; Edit17.Text:=''; dtp2.Date:=(Date); Edit19.Text:='0'; Edit20.Text:='1'; cb_artikel; cb_verkauf; end; end;
procedure TForm1.ComboBox4Select(Sender: TObject); var s1,s2 :string; var x:integer; begin s1 := copy(ComboBox4.Text,0,10); for x :=1 to artikel_anzahl do begin if(artikel[x].artnr = s1)then break; end; artikel_zeiger:=x; artikel_anzeige; s2 := copy(ComboBox4.Text,13,length(ComboBox4.Text)); for x :=1 to kunde_anzahl do begin if(kunde[x].ebayname = s2)then break; end; kunde_zeiger:=x; kunde_anzeige; end;
procedure TForm1.Button16Click(Sender: TObject); var x:integer; var s1,s2:string; begin for x := 0 to verkauf_anzahl do begin s1 := copy(ComboBox4.Text,0,10); s2 := copy(ComboBox4.Text,13,length(ComboBox4.Text)); if((verkauf[x].artikel = s1)and(verkauf[x].kaeufer = s2)and(verkauf[x].status=1)) then break ; end; verkauf[x].status := 2; verkauf_speichern;verkauf_einlesen; cb_verkauf;
end; procedure TForm1.ComboBox5Select(Sender: TObject); var s1,s2 :string; var x:integer; begin s1 := copy(ComboBox5.Text,0,10); for x :=1 to artikel_anzahl do begin if(artikel[x].artnr = s1)then break; end; artikel_zeiger:=x; artikel_anzeige; s2 := copy(ComboBox5.Text,13,length(ComboBox5.Text)); for x :=1 to kunde_anzahl do begin if(kunde[x].ebayname = s2)then break; end; kunde_zeiger:=x; kunde_anzeige; end; procedure TForm1.Button17Click(Sender: TObject); var x,fahne:integer; var s1,s2:string; begin fahne:=0; for x := 1 to verkauf_anzahl do begin s1 := copy(ComboBox5.Text,0,10); s2 := copy(ComboBox5.Text,13,length(ComboBox5.Text)); if((verkauf[x].artikel = s1) and(verkauf[x].kaeufer = s2) and(verkauf[x].status=2)) then begin fahne :=x; break; end; end; if(fahne > 0)then begin with archiv[1] do begin artnr := artikel[artikel_zeiger].artnr; artbez := artikel[artikel_zeiger].artbez; startpreis := artikel[artikel_zeiger].startpreis; sofortkauf := artikel[artikel_zeiger].sofortkauf; versand := artikel[artikel_zeiger].versand; beginn := artikel[artikel_zeiger].beginn; dauer := artikel[artikel_zeiger].dauer; egebuehr := artikel[artikel_zeiger].egebuehr; vorname := kunde[kunde_zeiger].vorname; nachname := kunde[kunde_zeiger].nachname; strasse := kunde[kunde_zeiger].strasse; plz := kunde[kunde_zeiger].plz; ort := kunde[kunde_zeiger].ort; email := kunde[kunde_zeiger].email; ebayname := kunde[kunde_zeiger].ebayname; endpreis := verkauf[fahne].endpreis; datum := verkauf[fahne].datum; vkgebuehr := verkauf[x].vkgebuehr; menge := verkauf[fahne].menge; end; AssignFile(archiv_datei,archivfile); if not (fileexists(archivfile))then begin rewrite(archiv_datei); ShowMessage('Archiv-Datenbank wurde angelegt!'); end else begin Reset(archiv_datei); Seek(archiv_datei,filesize(archiv_datei)); end; write(archiv_datei,archiv[1]); closefile(archiv_datei); verkauf[x].status := 3; verkauf_speichern;verkauf_einlesen; cb_verkauf; end; end; procedure TForm1.Button22Click(Sender: TObject); var f:integer; begin f:=1; verkauf_anzeigen(f); end; procedure TForm1.Button20Click(Sender: TObject); var f:integer; begin f:=0; verkauf_anzeigen(f); end; procedure TForm1.Button24Click(Sender: TObject); var f:integer; begin f:=2; verkauf_anzeigen(f); end; procedure TForm1.Button25Click(Sender: TObject); var f:integer; begin f:=3; verkauf_anzeigen(f); end; procedure TForm1.sg3SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); var x:integer; begin for x := 1 to kunde_anzahl do begin if((kunde[x].ebayname = sg3.Cells[3,arow])and(x>0) ) then break; end; kunde_zeiger:=x;kunde_anzeige; if(artikel_anzahl > 0)then begin for x := 1 to artikel_anzahl do begin if((artikel[x].artnr = sg3.Cells[0,arow])and (x>0)) then break; end; if(x <= artikel_anzahl) then artikel_zeiger:=x;artikel_anzeige; end; end; procedure TForm1.Button1Click(Sender: TObject); begin if(sg1.GridLineWidth =0 ) then begin sg1.GridLineWidth:=1; sg2.GridLineWidth:=1; sg3.GridLineWidth:=1; end else begin sg1.GridLineWidth:=0; sg2.GridLineWidth:=0; sg3.GridLineWidth:=0; end; end;
procedure TForm1.BitBtn2Click(Sender: TObject); begin Form1.Close; end;
procedure TForm1.Beenden1Click(Sender: TObject); begin Form1.Close; end; procedure TForm1.AlleartikelmitMenge0lschen1Click(Sender: TObject); var x: integer; begin for x := 1 to artikel_anzahl do begin if(artikel[x].menge = 0 ) then artikel[x].status := 99; end; artikel_speichern; artikel_einlesen; artikel_anzeige; end;
procedure TForm1.AlleverschicktenArtikellschen1Click(Sender: TObject); var x:integer; begin for x := 1 to verkauf_anzahl do begin if(verkauf[x].status = 3) then verkauf[x].status := 99; end; verkauf_speichern;verkauf_einlesen; end;
procedure TForm1.KompletteListe1Click(Sender: TObject); begin Form2.Show; end; procedure TForm1.Info1Click(Sender: TObject); begin form3.AlphaBlendValue :=0; Form3.Show; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Label29.Caption := inttostr(artikel_anzahl)+'/'+inttostr(artikel_zeiger); Label31.Caption := inttostr(kunde_anzahl)+'/'+inttostr(kunde_zeiger); Label30.Caption := inttostr(verkauf_anzahl)+'/'+inttostr(verkauf_zeiger); end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (key = 13)then begin key:=0; keybd_event(vk_tab,0,0,0); keybd_event(vk_tab,0, KEYEVENTF_KEYUP,0); end; end;
end. |
|
|
Palladin007 
      
Beiträge: 1282
Erhaltene Danke: 182
Windows 11 x64 Pro
C# (Visual Studio Preview)
|
Verfasst: So 25.11.12 20:53
Danke für den Quellcode, wenn ich auf die Schnelle keine Alternative finde, werde ich den nehmen.
Da fällt mir grad noch eine Frage ein:
Kann man solche Sprachen auch ohne Zeilensprünge schreiben?
Bei C# geht das problemlos, bei PHP auch, oder HTML, bei Batch müssen die Befehle mit & getrennt werden ...
Was ich gesucht hab, ist ein schwarzer Hintergrund mit weißem oder grauen Programm-Code, der unter MS-DOS ausgeführt werden kann und das ganze Bild ausfüllt. Das Fenster überdeckt dann einfach einen Teil in der Mitte. Leider war dazu nichts passendes zu finden, also bau ich mir das Bild selber zusammen
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: So 25.11.12 21:13
Schau mal unter www.fandecheng.com/p...unctional/qbasic.htm Dort gibt's u.a. Nibbles.bas und REMLINE. Auch JULIA dürfte interessant sein als Background 
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Palladin007 
      
Beiträge: 1282
Erhaltene Danke: 182
Windows 11 x64 Pro
C# (Visual Studio Preview)
|
Verfasst: So 25.11.12 21:16
Stimmt, da findet sich einiges, danke ^^
Jetzt nur noch eine Frage:
Wie krieg ich einen QBasic-Quellcode funktionsfähig aber ohne Zeilensprünge dargestellt?
Bei Batch musste man einfach nur die Befehle mit einem & aneinander reihen, geht das hier auch?
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: So 25.11.12 22:11
Mit Doppelpunkten trennen, wobei es da glaub paar Ausnahmen gab. Sollte aber nicht weiter auffallen 
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Palladin007 
      
Beiträge: 1282
Erhaltene Danke: 182
Windows 11 x64 Pro
C# (Visual Studio Preview)
|
Verfasst: So 25.11.12 22:29
Stimmt auch wieder ^^
Danke für die Hilfe ^^
|
|
Mathematiker
      
Beiträge: 2622
Erhaltene Danke: 1448
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: So 25.11.12 22:32
Hallo Palladin,
Palladin007 hat folgendes geschrieben : | Das soll zeigen, dass die grafischen Windows-Versionen den farbigen Ausblick aus dem öden und langweiligen MS-DOS bieten. |
Nun ja, mit so einer Aussage wäre ich vorsichtig. MS-DOS war bei weitem nicht öde und langweilig. Es gab hervorragende Programme (nicht nur Spiele), welche die Fähigkeiten des Betriebssystems ausreizten und nicht nur grün auf schwarz waren. Als absoluter Klassiker sei nur Fractint genannt.
BenBE hat folgendes geschrieben : | Mit Doppelpunkten trennen, wobei es da glaub paar Ausnahmen gab. Sollte aber nicht weiter auffallen  |
Sehe ich auch so. Wer kann denn heute noch erkennen, dass ein QBasic-Quelltext nicht korrekt ist, vor allem, wenn ich an die Zielgruppe Deines "Kunstwerks" denke.
Ich hänge eine Variante von "4Gewinnt" in Qbasic an.
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: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143:
| ST: CLS SCREEN 12
LINE (100, 100)-(460, 410), 15, B
FOR X = 130 TO 460 STEP 50 FOR Y = 130 TO 400 STEP 50 CIRCLE (X, Y), 20 NEXT NEXT INPUT "Wieviele Spieler (2-4)?", SP IF SP > 4 OR SP < 2 THEN PRINT "Geht nicht !": SLEEP 3: CLS : GOTO ST A1 = 0: A2 = 0: A3 = 0: A4 = 0: A5 = 0: A6 = 0 B1 = 0: B2 = 0: B3 = 0: B4 = 0: B5 = 0: B6 = 0 C1 = 0: C2 = 0: C3 = 0: C4 = 0: C5 = 0: C6 = 0 D1 = 0: D2 = 0: D3 = 0: D4 = 0: D5 = 0: D6 = 0 E1 = 0: E2 = 0: E3 = 0: E4 = 0: E5 = 0: E6 = 0 F1 = 0: F2 = 0: F3 = 0: F4 = 0: F5 = 0: F6 = 0 G1 = 0: G2 = 0: G3 = 0: G4 = 0: G5 = 0: G6 = 0 N: S = S + 1 IF S > SP THEN S = 1 X: IF S = 1 THEN F = 14 IF S = 2 THEN F = 4 IF S = 3 AND SP >= 3 THEN F = 1 IF S = 4 AND SP >= 4 THEN F = 2 DO T$ = INKEY$ IF A6 <> 0 AND B6 <> 0 AND C6 <> 0 AND D6 <> 0 AND E6 <> 0 AND F6 <> 0 AND G6 <> 0 AND T$ = "2" GOTO ST IF A6 <> 0 AND B6 <> 0 AND C6 <> 0 AND D6 <> 0 AND E6 <> 0 AND F6 <> 0 AND G6 <> 0 AND T$ = " " GOTO ST IF A6 <> 0 AND B6 <> 0 AND C6 <> 0 AND D6 <> 0 AND E6 <> 0 AND F6 <> 0 AND G6 <> 0 AND T$ = CHR$(0) + "P" GOTO ST IF A6 <> 0 AND B6 <> 0 AND C6 <> 0 AND D6 <> 0 AND E6 <> 0 AND F6 <> 0 AND G6 <> 0 AND T$ = CHR$(13) GOTO ST IF T$ = "6" THEN CIRCLE (Z, 70), 20, 0: PAINT (Z, 60), 0: R = R + 1 IF T$ = "4" THEN CIRCLE (Z, 70), 20, 0: PAINT (Z, 60), 0: R = R - 1 IF T$ = CHR$(0) + "M" THEN CIRCLE (Z, 70), 20, 0: PAINT (Z, 60), 0: R = R + 1 IF T$ = CHR$(0) + "K" THEN CIRCLE (Z, 70), 20, 0: PAINT (Z, 60), 0: R = R - 1 IF R < -1 THEN R = 7 IF R > 7 THEN R = -1 Z = (R * 50) + 130 CIRCLE (Z, 70), 20, F: PAINT (Z, 70), F LOCATE 5, 59: PRINT "ENDE" LOCATE 5, 10: PRINT "NEU" LOOP UNTIL T$ = "2" OR T$ = " " OR T$ = CHR$(0) + "P" OR T$ = CHR$(13) IF R = -1 GOTO ST IF R = 0 GOTO A IF R = 1 GOTO B IF R = 2 GOTO C IF R = 3 GOTO D IF R = 4 GOTO E IF R = 5 GOTO F IF R = 6 GOTO G IF R = 7 THEN END A: IF S = 1 THEN F = 14 IF S = 2 THEN F = 4 IF S = 3 AND SP >= 3 THEN F = 1 IF S = 4 AND SP >= 4 THEN F = 2 IF A1 = 0 THEN A1 = S: CIRCLE (130, 380), 19, F: PAINT (130, 380), F: GOTO N IF A2 = 0 THEN A2 = S: CIRCLE (130, 330), 19, F: PAINT (130, 330), F: GOTO N IF A3 = 0 THEN A3 = S: CIRCLE (130, 280), 19, F: PAINT (130, 280), F: GOTO N IF A4 = 0 THEN A4 = S: CIRCLE (130, 230), 19, F: PAINT (130, 230), F: GOTO N IF A5 = 0 THEN A5 = S: CIRCLE (130, 180), 19, F: PAINT (130, 180), F: GOTO N IF A6 = 0 THEN A6 = S: CIRCLE (130, 130), 19, F: PAINT (130, 130), F: GOTO N GOTO X B: IF S = 1 THEN F = 14 IF S = 2 THEN F = 4 IF S = 3 AND SP >= 3 THEN F = 1 IF S = 4 AND SP >= 4 THEN F = 2 IF B1 = 0 THEN B1 = S: CIRCLE (180, 380), 19, F: PAINT (180, 380), F: GOTO N IF B2 = 0 THEN B2 = S: CIRCLE (180, 330), 19, F: PAINT (180, 330), F: GOTO N IF B3 = 0 THEN B3 = S: CIRCLE (180, 280), 19, F: PAINT (180, 280), F: GOTO N IF B4 = 0 THEN B4 = S: CIRCLE (180, 230), 19, F: PAINT (180, 230), F: GOTO N IF B5 = 0 THEN B5 = S: CIRCLE (180, 180), 19, F: PAINT (180, 180), F: GOTO N IF B6 = 0 THEN B6 = S: CIRCLE (180, 130), 19, F: PAINT (180, 130), F: GOTO N GOTO X
C: IF S = 1 THEN F = 14 IF S = 2 THEN F = 4 IF S = 3 AND SP >= 3 THEN F = 1 IF S = 4 AND SP >= 4 THEN F = 2 IF C1 = 0 THEN C1 = S: CIRCLE (230, 380), 19, F: PAINT (230, 380), F: GOTO N IF C2 = 0 THEN C2 = S: CIRCLE (230, 330), 19, F: PAINT (230, 330), F: GOTO N IF C3 = 0 THEN C3 = S: CIRCLE (230, 280), 19, F: PAINT (230, 280), F: GOTO N IF C4 = 0 THEN C4 = S: CIRCLE (230, 230), 19, F: PAINT (230, 230), F: GOTO N IF C5 = 0 THEN C5 = S: CIRCLE (230, 180), 19, F: PAINT (230, 180), F: GOTO N IF C6 = 0 THEN C6 = S: CIRCLE (230, 130), 19, F: PAINT (230, 130), F: GOTO N GOTO X
D: IF S = 1 THEN F = 14 IF S = 2 THEN F = 4 IF S = 3 AND SP >= 3 THEN F = 1 IF S = 4 AND SP >= 4 THEN F = 2 IF D1 = 0 THEN D1 = S: CIRCLE (280, 380), 19, F: PAINT (280, 380), F: GOTO N IF D2 = 0 THEN D2 = S: CIRCLE (280, 330), 19, F: PAINT (280, 330), F: GOTO N IF D3 = 0 THEN D3 = S: CIRCLE (280, 280), 19, F: PAINT (280, 280), F: GOTO N IF D4 = 0 THEN D4 = S: CIRCLE (280, 230), 19, F: PAINT (280, 230), F: GOTO N IF D5 = 0 THEN D5 = S: CIRCLE (280, 180), 19, F: PAINT (280, 180), F: GOTO N IF D6 = 0 THEN D6 = S: CIRCLE (280, 130), 19, F: PAINT (280, 130), F: GOTO N GOTO X
E: IF S = 1 THEN F = 14 IF S = 2 THEN F = 4 IF S = 3 AND SP >= 3 THEN F = 1 IF S = 4 AND SP >= 4 THEN F = 2 IF E1 = 0 THEN E1 = S: CIRCLE (330, 380), 19, F: PAINT (330, 380), F: GOTO N IF E2 = 0 THEN E2 = S: CIRCLE (330, 330), 19, F: PAINT (330, 330), F: GOTO N IF E3 = 0 THEN E3 = S: CIRCLE (330, 280), 19, F: PAINT (330, 280), F: GOTO N IF E4 = 0 THEN E4 = S: CIRCLE (330, 230), 19, F: PAINT (330, 230), F: GOTO N IF E5 = 0 THEN E5 = S: CIRCLE (330, 180), 19, F: PAINT (330, 180), F: GOTO N IF E6 = 0 THEN E6 = S: CIRCLE (330, 130), 19, F: PAINT (330, 130), F: GOTO N GOTO X
F: IF S = 1 THEN F = 14 IF S = 2 THEN F = 4 IF S = 3 AND SP >= 3 THEN F = 1 IF S = 4 AND SP >= 4 THEN F = 2 IF F1 = 0 THEN F1 = S: CIRCLE (380, 380), 19, F: PAINT (380, 380), F: GOTO N IF F2 = 0 THEN F2 = S: CIRCLE (380, 330), 19, F: PAINT (380, 330), F: GOTO N IF F3 = 0 THEN F3 = S: CIRCLE (380, 280), 19, F: PAINT (380, 280), F: GOTO N IF F4 = 0 THEN F4 = S: CIRCLE (380, 230), 19, F: PAINT (380, 230), F: GOTO N IF F5 = 0 THEN F5 = S: CIRCLE (380, 180), 19, F: PAINT (380, 180), F: GOTO N IF F6 = 0 THEN F6 = S: CIRCLE (380, 130), 19, F: PAINT (380, 130), F: GOTO N GOTO X
G: IF S = 1 THEN F = 14 IF S = 2 THEN F = 4 IF S = 3 AND SP >= 3 THEN F = 1 IF S = 4 AND SP >= 4 THEN F = 2 IF G1 = 0 THEN G1 = S: CIRCLE (430, 380), 19, F: PAINT (430, 380), F: GOTO N IF G2 = 0 THEN G2 = S: CIRCLE (430, 330), 19, F: PAINT (430, 330), F: GOTO N IF G3 = 0 THEN G3 = S: CIRCLE (430, 280), 19, F: PAINT (430, 280), F: GOTO N IF G4 = 0 THEN G4 = S: CIRCLE (430, 230), 19, F: PAINT (430, 230), F: GOTO N IF G5 = 0 THEN G5 = S: CIRCLE (430, 180), 19, F: PAINT (430, 180), F: GOTO N IF G6 = 0 THEN G6 = S: CIRCLE (430, 130), 19, F: PAINT (430, 130), F: GOTO N GOTO X |
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Palladin007 
      
Beiträge: 1282
Erhaltene Danke: 182
Windows 11 x64 Pro
C# (Visual Studio Preview)
|
Verfasst: So 25.11.12 23:43
Zitat: | Nun ja, mit so einer Aussage wäre ich vorsichtig. MS-DOS war bei weitem nicht öde und langweilig. Es gab hervorragende Programme (nicht nur Spiele), welche die Fähigkeiten des Betriebssystems ausreizten und nicht nur grün auf schwarz waren. Als absoluter Klassiker sei nur Fractint genannt. |
Was ich meine ist, dass es vor der grafischen Oberfläche nur Weiß auf Schwarz, oder grau auf schwarz, oder was auch immer gab und das Windows-Logo ist das Fenster in eine schön bunte Landschaft.
Ein Spiel würde ich nur zu gerne nehmen, aber ich glaube, das größte Problem dabei ist, die Menge an Code.
Ich schau mal wie groß der Text am Ende auf dem Papier aus fällt, die Datei hat nämlich ein Format von 3508 x 2480 Pixel und das ist im Vergleich zum typischen Din A4 doch arg groß ^^
Aber ein Spiel wäre schon cool, denn ich würde fast drauf wetten, dass irgendwer fragt, was das denn machen soll, wenn es ein original Quellcode ist. 
|
|
Mathematiker
      
Beiträge: 2622
Erhaltene Danke: 1448
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: So 25.11.12 23:55
Hallo,
Palladin007 hat folgendes geschrieben : | Was ich meine ist, dass es vor der grafischen Oberfläche nur Weiß auf Schwarz, oder grau auf schwarz, oder was auch immer gab und das Windows-Logo ist das Fenster in eine schön bunte Landschaft. |
Ich will Dir nicht pausenlos widersprechen, aber MS-DOS war nicht "zweifarbig".
Das von mir schon erwähnte Fractint erstellte, bis dahin unerreichte, Fraktalbilder mit verschiedenen Paletten zu je 256 Farben. Und mein Lieblingsspiel "Day of the Tentacle" dürfte wohl bunt genug sein. (siehe Anhang)
Beste Grüße
Mathematiker
Einloggen, um Attachments anzusehen!
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Palladin007 
      
Beiträge: 1282
Erhaltene Danke: 182
Windows 11 x64 Pro
C# (Visual Studio Preview)
|
Verfasst: Mo 26.11.12 00:03
Ok, ich drück mich anders aus:
Das, von der Zeit bekannte, Bild, was noch sehr viele von MS-DOS haben, sieht so aus, wie beschrieben. ^^
Und wenn das auch nicht stimmt, dann nenne ich es Künstlerfreiheit 
|
|
Martok
      
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Mo 26.11.12 12:03
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
smt
      
Beiträge: 45
|
Verfasst: Mo 26.11.12 12:16
Wie sich die Jugend so ein "MS-DOS" vorstellt... Echt genial
Es gibt auch Leute, die hatten einen Schneider CPC mit CP/M und Turbo Pascal - das ist Nostalgie
- Sascha -
|
|
Mathematiker
      
Beiträge: 2622
Erhaltene Danke: 1448
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mo 26.11.12 12:46
Hallo,
im Prinzip kann ich Palladin700 ja verstehen.
Was ich jedoch nicht mag, ist eine gar zu absolute Aussage: Windows schön - MS-DOS schlecht!
Dabei wird vergessen, dass bis Windows 98/Me MS-DOS die Grundlage war. Ohne MS-DOS funktionierte auch Windows nicht. Erst seit Windows XP spricht man ja wirklich vom "Betriebssystem Windows".
Ich vermute, dass die "heutige Jugend" sich auch nicht vorstellen kann, dass ein PC nícht nur nach CPU-Takt und Hauptspeichergröße, sondern auch nach der Anzahl(!) der darstellbaren Farben eingestuft wurde.
@Martok: Ach ja, die Lemminge. Das waren noch Zeiten.
Kennt jemand von Euch eine legale Quelle, wo man eine ordentliche "moderne" Version der Lemminge herbekommen kann. Der Download von Computer-Blöd ist so grottig, dass man die Finger davon lassen sollte.
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
Narses
      

Beiträge: 10183
Erhaltene Danke: 1256
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 26.11.12 12:50
Moin!
Mathematiker hat folgendes geschrieben : | Erst seit Windows XP spricht man ja wirklich vom "Betriebssystem Windows". |
Naja, wenn wir genau sein wollen, dann war das Windows 2000.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Mathematiker
      
Beiträge: 2622
Erhaltene Danke: 1448
Win 7, 8.1, 10
Delphi 5, 7, 10.1
|
Verfasst: Mo 26.11.12 12:58
Narses hat folgendes geschrieben : | Naja, wenn wir genau sein wollen, dann war das Windows 2000.  |
Richtig, mein Fehler.
Windows Me und Windows 2000 = NT 5 waren ja verschiedene Entwicklungslinien. Richtig hätte ich sagen sollen: Ab Windows NT liegt ein eigenständiges Betriebssystem vor.
Beste Grüße
Mathematiker
_________________ Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
|
|
smt
      
Beiträge: 45
|
Verfasst: Mo 26.11.12 12:58
Narses hat folgendes geschrieben : | Moin!
Mathematiker hat folgendes geschrieben : | Erst seit Windows XP spricht man ja wirklich vom "Betriebssystem Windows". | Naja, wenn wir genau sein wollen, dann war das Windows 2000.
cu
Narses |
Auch nicht wirklich.
Es gab die Windows 1.0 bis ME Schiene, die allesamt auf MS-DOS aufsetzte.
Und dann gab es OS/2, welches von IBM und MS entwickelt wurde. IBM sollte OS2 1.0 / 2.0 entwickeln, MS OS2 3.0 - daraus wurde bekanntermassen nichts und MS entwickelte darauf hin Windows NT 3.0 - welches als erstes ein echtes neues Betriebsystem ohne DOS-Aufsatz war. Dann kann NT 3.5 / 3.51, welche auch schon sehr gut und stabil waren. Die Version Windows NT 4.0 wird heute sogar teilweise noch eingesetzt (bei Banken und sowas - ähnlich wie OS2 auch). Die grosse Masser der User kam aber erst mit Windows 2000 und XP
Sascha
|
|
papa69
      
Beiträge: 79
Erhaltene Danke: 23
Win 10, Ubuntu
C#, Java, C
|
Verfasst: Mo 26.11.12 13:07
...jedenfalls konnte man sich ganz (gaaaaaaaaaanz) einfachfür jedes Programm eine eigene autoexec.bat und/oder config.sys zusammenschreiben...und diese dann in der Start-Dirkette speichern, sodass man jederzeit die optimale Umgebung für dieses Programm zur Verfügung hatte
Vor QBasic gab es dann ja noch GW-Basic, und dass passte zusammen mit dem ganzen DOS auf eine einzige 720kB-Diskette (oder hatten die schon 1,44 MB ??).
Im Keller habe ich noch ca. 200 Diskette....ähem, leider habe ich kein Disketten-LW mehr am PC/Notebook.
@Palladin: als Alternative könntest du ja auch eine autoexec.bat nehmen...
_________________ Daniel Bauer
... fatal ist nur, wenn sich das Licht am Ende des Tunnels als entgegenkommender ICE entpuppt ...
|
|
Palladin007 
      
Beiträge: 1282
Erhaltene Danke: 182
Windows 11 x64 Pro
C# (Visual Studio Preview)
|
Verfasst: Mo 26.11.12 18:48
Mal anders gefragt:
Kennt irgendwer in der heutigen Jugend diese Unterschiede?
Ich mein, ich wurde ja schon als verrückt bezeichnet, weil ich Spaß daran finde, ein bisschen mit Java zu programmieren. O.o
Es versteht einfach keiner und die, die es verstehen, wollen es nicht verstehen, weil jemand, der sowas in der Jugend macht, gleich als Nerd abgestempelt wird.
Finde ich eigentlich ziemlich bescheuert, weil ich persönlich alles Andere als ein langweiliger Nerd bin, aber dennoch Spaß am Programmieren finde.
Naja, auf jeden Fall soll ich halt drei Bilder erschaffen, in denen alle das Windows-Logo enthalten ist und die alle die Thematik Windows, dessen Bedeutung, etc. auf eine andere Weise darstellt.
Als eine Interpretations-Möglichkeit vom Windows-Logo hab ich irgendwo gelesen, dass das Logo als Fenster gesehen wird.
Ursprünglich wollte ich nur das "Fenster" in einen einfachen schlichen Raum packen, aber das wäre zu wenig, also habe ich überlegt, was den Unterschied gut sichtbar machen würde. Wenn ich den Hintergrund also auf diese Weise gestalte, würde das jeder Trottel verstehen.
Hat denn jemand eine bessere, korrekte Darstellungsweise, die ich anstelle meiner Idee verwenden kann?
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mo 26.11.12 19:24
Reicht so was nicht aus ?
Einloggen, um Attachments anzusehen!
_________________ Gruß
Hansa
|
|
|