C#

Indította NeXu$, 2014-04-28, 19:21:43

C#
2014-04-28, 19:21:43 Utolsó szerkesztés: 2014-04-28, 20:06:26 Szerző: NeXu$
Sziasztok.

http://metin2hungary.net/index.php/topic,159092.msg857494.html

Volt egy ilyen anno. Gondoltam megcsinálom.


[spoiler]            StringBuilder sb = new StringBuilder();
            StreamReader sk = new StreamReader(WebRequest.Create("http://webed.hu/vlista.txt").GetResponse().GetResponseStream());
//a linket cseréljétek.Így állandóan tudjátok frissíteni
            using (sk)
            {
                String line;
                while ((line = sk.ReadLine()) != null)
                {
                    sb.AppendLine(line);
                }
            }
            string vlista = sb.ToString();

//most hozzáadok egy pár dolgot "manuálisan", ezek debug miatt kellenek, ha neked nem kell töröld!
            vlista = vlista + "fajlocska.txt" + "okos_vedettlista.pdb" +"okos_vedettlista.exe" + "okos_vedettlista.vshost.exe" ;


            string mappa = Directory.GetCurrentDirectory();
// mappa jelenleg a kliens főkönyvtára, vagy az a hely ahol a patcher.exe van
            var fajllista = System.IO.Directory.GetFiles(mappa).Where(x => !vlista.Contains(System.IO.Path.GetFileName(x)));
            foreach (var fajl in fajllista)
            {
                System.IO.File.Delete(fajl);
//ha nem szerepel a listában törli a fájlt!
            }[/spoiler]

Pirossal jelölt, és kiemelt részt tessék átolvasni!

A vlista.txt szintaktikája a következő:

alma.txt
narany.dll
eper.exe
malna.cfg

NEM kell fölös [ENTER]!!!


A manuális részhez érdemes hozzáírni magát a PROGRAM.exe-t is, ha nem írod saját magát is törölni akarja.

Ha kevesebb, vagy több dolgot szeretnénk hozzáadni a listához magában a patcherben akkor figyeljük meg a hozzáadás menetét.

"elozofajl" + "ujjabfajl";

; ellőt ne legyen közvetlen + jel

Érdemes Timer-be tenni, hogy a állandóan vizsgálja, amíg a patcher fut.

-------------------------------------------------------------------------------

http://hu.wikipedia.org/wiki/Optikai_karakterfelismer%C3%A9s

Kis OCR, nem nagy szám de gondoltam osztom.
Hasonlóval megy ha  annyira nagy mennyiségű adat, hogy azt ember már nem bírni (lottó, felmérések).

Egyszerűbb szövegeket tud olvasni, be kell tallózni a képet és azt a txt fájlt ahová menteni kívánunk.

K.O.K.= Karakter Olvasás Képről

Megtaláltam gondoltam megosztom ezt a kis programocskát.

amit tud:
- kivenni egy szövegből a fölösleges spaceket
- tördelni a szöveget (enterek helyettesíti spaccel)
- kivenni a fölösleges entereket ( én ennek veszem  a legnagyobb hasznát, van amikor gondolkodás, idegeskedés közben is nyomogatom entert)

Mindezeket CTRL C, CTRL V módszerrel is képes, illetve fájlból is. Tehát elég csak betallóznod.


2014-07-13, 00:57:19 #3 Utolsó szerkesztés: 2014-07-13, 17:23:25 Szerző: NeXu$
a lista.txt egyezik a felépítésében a CRC listával... lehet rá nyálat csurgatni, minden mappát átnéz és kitörli azokat a fájlokat amik nem szerepelnek a patchlistában, tehát nem tudnak új fájlt beletenni ha  Timer-rel megcsinálod.





Hogyan is építsem be a CRC patcherembe?
[spoiler]

1. csináljunk egy Timer-t (ez ilyen ismétlődős dolog), bal oldali toolbox-ból előhozható (vagy ha nem látsz olyat,Ctrl+Alt+ X)
Állítsuk Enabled -re.(Jobb oldalt lent Properties ablak)
Interval alapértelmezetten 100, ez azt jelent hogy a Timer1 utasításai (lásd következő pont) 100 ezredmásodpercenként hajtódnak végre.

2. kattints az alsó csíkon lévő (statusBar mellet lévő) Timer1-re kétszer.
Most előhozott egy szöveges felületet. Oda másold be ezt:
            foreach(var path in Directory.GetFiles(curdir, "." ,SearchOption.AllDirectories))
{
            if(checklist.Contains(path)){
            //if okay, do nothing
               }
               else{
                File.Delete(path);}
            }


3. menjünk az elejére a szöveges dolognak
és az elejétől idáig:
Globals.pForm = this;

}

(a "}" jelet is beleérte)
Töröljük.

Kattints az elejére megint és másold be ezt:

using Sanchez.Patcher.Source_files;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Linq;
using System.Collections.Generic;
using System.Windows.Forms;


using System.Web.UI.WebControls;

namespace Sanchez.Patcher
{
public partial class pForm : Form
{
//get application name without extension
public static string appname = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
//get current dir
public static string curdir = Directory.GetCurrentDirectory();
//easy newline
public static string nl = Environment.NewLine;
// the normal list with missed files
public static string checklist = curdir + @"\" + appname + ".exe" + curdir + @"\" + appname + ".pdb" + curdir + @"\" + appname + ".vshost.exe";
//get one line of the list
public static string singleLine;
// get the list from file
public static string fileLocation = Globals.ServerURL + Globals.PatchlistName;

public pForm()
{


InitializeComponent();

WebClient client = new WebClient();
Stream stream = client.OpenRead(fileLocation);

//delete CRC
using (StreamReader reader = new StreamReader(stream))
{
while ((singleLine = reader.ReadLine()) != null)
{
//add the line to the list
checklist += curdir +@"\" + singleLine.Substring(0,singleLine.IndexOf(' '));;
}
}
//syntac correct
checklist = checklist.Replace("/", @"\");


Globals.pForm = this;

}



4. F5-el a Globals.cs kitöltése után elindítod a programot.

[/spoiler]

2014-07-25, 14:46:27 #4 Utolsó szerkesztés: 2014-07-25, 14:49:48 Szerző: NeXu$
Na,he.

Találtam egy egész jó kis programot, régebben használtam de csak most keveredett újra elő. Szükségem volt  egy környezet ahol tudok C-zni.(C#,C++,VB) . De mivel alig volt internet nem akartam letölteni több Gigát,azért ezt használtam:
http://www.icsharpcode.net/opensource/sd/

Rendszer követelmények:
https://github.com/icsharpcode/SharpDevelop/wiki/Installing-SharpDevelop
~35 MB

Felépítése nagyon hasonlít VisualStudio-hoz.


Beta verzió van csak egyenlőre, előfordulnak még kisebb- nagyobb hibák benne.