PHP týden Letní akce
Pouze tento týden sleva až 80 % na kurzy PHP. Lze kombinovat s akcí Letní slevy na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!
Avatar
Tomáš Roj
Člen
Avatar
Tomáš Roj:14. dubna 12:46

Ahoj,

včera jsem se ptal jak připojit data k exe souboru hry bez databáze. Začal jsem používat binarywriter/re­ader. Nějak to funguje ale pořeboval bych od někoho poradit více. Potřebuji navrhnout celý kód, který zapíše nick a skóre hráče a potom to nějak zobrazí v tabulce. Vím, že jsem noob ale má to nějakej deadline a už se v tom nechci pitvat sám. Byl by tady někdo tak hodný, že by mi napsal kód? Ideálně přes VS Live share

Odpovědět  -2 14. dubna 12:46
„Lidé často nevědí, co chtějí, dokud jim to neukážete.“ - Steve Jobs
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:15. dubna 13:02

google = vs live share read write table to file
google = vs read write table to file
google = Visual Studio read write table to file
Google nabizi i videa.

https://support.microsoft.com/…ing-visual-c

Me se treba libi example 1 (write a text file), bod 5.

StreamWriter sw = new StreamWriter("C:\\Test.txt"); // open file
sw.WriteLine("Hello World!!"); //Write a line of text
sw.WriteLine("From the StreamWriter class"); //Write a second line of text
sw.Close(); //Close the file

Chces zapsat tabulku? Tak tam das cyklus a sestavis string do podoby
sw.WriteLine("Loj­za;123");
sw.WriteLine("Jen­da;456");
V souboru by to pak melo vypadat takto:
--- Test.txt ---

Lojza;123
Jenda;456

Coz je citelne jak pres poznamkovy blok, tak excel to umi formatovat do tabulky.

Samozrejme, pro excel by bylo fajn, kdybys pouzil csv format. Spojit text strednikem je osizene a muze ti to cele zkapat, kdyz ti tam hrac podstrci znaky "\n" (0D0A novy radek) nebo ";", cili, zapisujes neco takovyho:
sw.WriteLine("L;o\njz;­a;123");

L;o
jz;a;123
Jenda;456

A tvuj zpetny dekoder, cteni ze souboru, pouziva parsovani podle "\n" (zalomeni noveho radku) pro detekci radku a stredniky pro sloupce. Precte tedy nesmysly.

google = Visual Studio read write to csv file
https://stackoverflow.com/…e-in-c-sharp
Take zajimavy priklad. Pouziva zapisovani do formatu, vzoru
"{0},{1}" = {0} se prepise hodnotou z first, {1} se prepise hodnotou ze second
(ale samozrejme je to opet falesny csv writer, opet neresi zalomeni radku a stredniky)

using(var w = new StreamWriter(path))
{
    for( /* your loop */)
    {
        var first = yourFnToGetFirst();
        var second = yourFnToGetSecond();
        var line = string.Format("{0},{1}", first, second);
        w.WriteLine(line);
        w.Flush();
    }
}

https://social.msdn.microsoft.com/…ite-csv-file?…
to vypada o moc lepe, pouzivaji parser

using System;
using System.Windows.Forms;
using Microsoft.VisualBasic.FileIO;

namespace WindowsApplication1
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      TextFieldParser prs = new TextFieldParser(@"c:\temp\test.csv");
      prs.TextFieldType = FieldType.Delimited;
      prs.SetDelimiters(",");
      while (!prs.EndOfData) {
        string[] flds = prs.ReadFields();
        foreach (string fld in flds) Console.Write("{0}\t", fld);
        Console.WriteLine();
      }
      prs.Close();
    }
  }
}

https://social.msdn.microsoft.com/…datagridview?…
Cteni csv souboru pomoci parseru, zapis dat do datagrid (excelove tabulky), kod visual basic

Using parser As New Microsoft.VisualBasic.FileIO.TextFieldParser("c:\temp\myFile.csv")
   parser.SetDelimiters(",")
   While Not parser.EndOfData
      Me.DataGridView1.Rows.Add(parser.ReadFields())
   End While
End Using

Hele, jeste mne napada, jestli to delas pres Excel, tak excel ma takovou fajn funkci 'Zaznamenat makro'. To ulozi do makra vsechny kroky, ktere udelas od okamziku spusteni toho tlacitka. Napr. kliknes na Soubor - ulozit jako - format csv, jmeno skore.txt. Pak kliknes na Zastavit makro. A z toho kodu si zkopirujes, co potrebujes.

 
Nahoru Odpovědět 15. dubna 13:02
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:15. dubna 13:09

A mimochodem, ti tema hodnoti zaporne protoze svou praci chces hodit na nekoho jineho. Obavam se, ze nemame cas ani chut resit tve ukoly, kdyz tvuj prispevek k reseni je 0.
Treba bys mohl za mne tady naprogramovat pro web applikaci upload vice souboru najednou. html / css / js / php. A zabudovat to do jedne aplikace. Hrozne by mi to pomohlo. Ale asi jsem blahovy, ze se te pokuosim pozadat o pomoc, kdyz vidim, jaky mas pristup ke svym problemum :)

https://www.itnetwork.cz/…cb1d1dcd035b
Napr by tu bylo hezke napsat, jak jsi s tim pokrocil, zkusil a tak. Zda ti to neco do souboru zapisovalo. Ale ja osobne bych sel pres ten parser, ty posl. 2 kody upravil, tam je cteni a zapis.

 
Nahoru Odpovědět 15. dubna 13:09
Avatar
Tomáš Roj
Člen
Avatar
Odpovídá na Peter Mlich
Tomáš Roj:15. dubna 13:14

Jo díky. Já moc znalost v téhle oblasti nemám takže nemůžu moc pomocí. Díky za skvělou odpověď! Zkusím to a napíšu sem svůj postup.

Nahoru Odpovědět 15. dubna 13:14
„Lidé často nevědí, co chtějí, dokud jim to neukážete.“ - Steve Jobs
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.