andrew4582

Lorem Ipsum generator V2

Mar 10th, 2013
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 9.04 KB | None | 0 0
  1. /// <summary>
  2.     /// Lorem Ipsum generator class for C#
  3.     /// </summary>
  4.     public static class Ipsum
  5.     {
  6.         public static string[] Words = new string[] { "consetetur", "sadipscing", "elitr", "sed", "diam", "nonumy", "eirmod",
  7.     "tempor", "invidunt", "ut", "labore", "et", "dolore", "magna", "aliquyam", "erat", "sed", "diam", "voluptua",
  8.     "at", "vero", "eos", "et", "accusam", "et", "justo", "duo", "dolores", "et", "ea", "rebum", "stet", "clita",
  9.     "kasd", "gubergren", "no", "sea", "takimata", "sanctus", "est", "lorem", "ipsum", "dolor", "sit", "amet",
  10.     "lorem", "ipsum", "dolor", "sit", "amet", "consetetur", "sadipscing", "elitr", "sed", "diam", "nonumy", "eirmod",
  11.     "tempor", "invidunt", "ut", "labore", "et", "dolore", "magna", "aliquyam", "erat", "sed", "diam", "voluptua",
  12.     "at", "vero", "eos", "et", "accusam", "et", "justo", "duo", "dolores", "et", "ea", "rebum", "stet", "clita",
  13.     "kasd", "gubergren", "no", "sea", "takimata", "sanctus", "est", "lorem", "ipsum", "dolor", "sit", "amet",
  14.     "lorem", "ipsum", "dolor", "sit", "amet", "consetetur", "sadipscing", "elitr", "sed", "diam", "nonumy", "eirmod",
  15.     "tempor", "invidunt", "ut", "labore", "et", "dolore", "magna", "aliquyam", "erat", "sed", "diam", "voluptua",
  16.     "at", "vero", "eos", "et", "accusam", "et", "justo", "duo", "dolores", "et", "ea", "rebum", "stet", "clita",
  17.     "kasd", "gubergren", "no", "sea", "takimata", "sanctus", "est", "lorem", "ipsum", "dolor", "sit", "amet", "duis",
  18.     "autem", "vel", "eum", "iriure", "dolor", "in", "hendrerit", "in", "vulputate", "velit", "esse", "molestie",
  19.     "consequat", "vel", "illum", "dolore", "eu", "feugiat", "nulla", "facilisis", "at", "vero", "eros", "et",
  20.     "accumsan", "et", "iusto", "odio", "dignissim", "qui", "blandit", "praesent", "luptatum", "zzril", "delenit",
  21.     "augue", "duis", "dolore", "te", "feugait", "nulla", "facilisi", "lorem", "ipsum", "dolor", "sit", "amet",
  22.     "consectetuer", "adipiscing", "elit", "sed", "diam", "nonummy", "nibh", "euismod", "tincidunt", "ut", "laoreet",
  23.     "dolore", "magna", "aliquam", "erat", "volutpat", "ut", "wisi", "enim", "ad", "minim", "veniam", "quis",
  24.     "nostrud", "exerci", "tation", "ullamcorper", "suscipit", "lobortis", "nisl", "ut", "aliquip", "ex", "ea",
  25.     "commodo", "consequat", "duis", "autem", "vel", "eum", "iriure", "dolor", "in", "hendrerit", "in", "vulputate",
  26.     "velit", "esse", "molestie", "consequat", "vel", "illum", "dolore", "eu", "feugiat", "nulla", "facilisis", "at",
  27.     "vero", "eros", "et", "accumsan", "et", "iusto", "odio", "dignissim", "qui", "blandit", "praesent", "luptatum",
  28.     "zzril", "delenit", "augue", "duis", "dolore", "te", "feugait", "nulla", "facilisi", "nam", "liber", "tempor",
  29.     "cum", "soluta", "nobis", "eleifend", "option", "congue", "nihil", "imperdiet", "doming", "id", "quod", "mazim",
  30.     "placerat", "facer", "possim", "assum", "lorem", "ipsum", "dolor", "sit", "amet", "consectetuer", "adipiscing",
  31.     "elit", "sed", "diam", "nonummy", "nibh", "euismod", "tincidunt", "ut", "laoreet", "dolore", "magna", "aliquam",
  32.     "erat", "volutpat", "ut", "wisi", "enim", "ad", "minim", "veniam", "quis", "nostrud", "exerci", "tation",
  33.     "ullamcorper", "suscipit", "lobortis", "nisl", "ut", "aliquip", "ex", "ea", "commodo", "consequat", "duis",
  34.     "autem", "vel", "eum", "iriure", "dolor", "in", "hendrerit", "in", "vulputate", "velit", "esse", "molestie",
  35.     "consequat", "vel", "illum", "dolore", "eu", "feugiat", "nulla", "facilisis", "at", "vero", "eos", "et", "accusam",
  36.     "et", "justo", "duo", "dolores", "et", "ea", "rebum", "stet", "clita", "kasd", "gubergren", "no", "sea",
  37.     "takimata", "sanctus", "est", "lorem", "ipsum", "dolor", "sit", "amet", "lorem", "ipsum", "dolor", "sit",
  38.     "amet", "consetetur", "sadipscing", "elitr", "sed", "diam", "nonumy", "eirmod", "tempor", "invidunt", "ut",
  39.     "labore", "et", "dolore", "magna", "aliquyam", "erat", "sed", "diam", "voluptua", "at", "vero", "eos", "et",
  40.     "accusam", "et", "justo", "duo", "dolores", "et", "ea", "rebum", "stet", "clita", "kasd", "gubergren", "no",
  41.     "sea", "takimata", "sanctus", "est", "lorem", "ipsum", "dolor", "sit", "amet", "lorem", "ipsum", "dolor", "sit",
  42.     "amet", "consetetur", "sadipscing", "elitr", "at", "accusam", "aliquyam", "diam", "diam", "dolore", "dolores",
  43.     "duo", "eirmod", "eos", "erat", "et", "nonumy", "sed", "tempor", "et", "et", "invidunt", "justo", "labore",
  44.     "stet", "clita", "ea", "et", "gubergren", "kasd", "magna", "no", "rebum", "sanctus", "sea", "sed", "takimata",
  45.     "ut", "vero", "voluptua", "est", "lorem", "ipsum", "dolor", "sit", "amet", "lorem", "ipsum", "dolor", "sit",
  46.     "amet", "consetetur", "sadipscing", "elitr", "sed", "diam", "nonumy", "eirmod", "tempor", "invidunt", "ut",
  47.     "labore", "et", "dolore", "magna", "aliquyam", "erat", "consetetur", "sadipscing", "elitr", "sed", "diam",
  48.     "nonumy", "eirmod", "tempor", "invidunt", "ut", "labore", "et", "dolore", "magna", "aliquyam", "erat", "sed",
  49.     "diam", "voluptua", "at", "vero", "eos", "et", "accusam", "et", "justo", "duo", "dolores", "et", "ea",
  50.     "rebum", "stet", "clita", "kasd", "gubergren", "no", "sea", "takimata", "sanctus", "est", "lorem", "ipsum" };
  51.  
  52.         public static string[] WordsEnglish = new string[] { "But","I","must","explain","to","you","how","all","this","mistaken","idea","of","denouncing","pleasure","and","praising","pain","was","born","and","I","will","give","you","a","complete","account","of","the","system,","and","expound","the","actual","teachings","of","the","great","explorer","of","the","truth,","the","master-builder","of","human","happiness.","No","one","rejects,","dislikes,","or","avoids","pleasure","itself,","because","it","is","pleasure,","but","because","those","who","do","not","know","how","to","pursue","pleasure","rationally","encounter","consequences","that","are","extremely","painful.","Nor","again","is","there","anyone","who","loves","or","pursues","or","desires","to","obtain","pain","of","itself,","because","it","is","pain,","but","because","occasionally","circumstances","occur","in","which","toil","and","pain","can","procure","him","some","great","pleasure.","To","take","a","trivial","example,","which","of","us","ever","undertakes","laborious","physical","exercise,","except","to","obtain","some","advantage","from","it?","But","who","has","any","right","to","find","fault","with","a","man","who","chooses","to","enjoy","a","pleasure","that","has","no","annoying","consequences,","or","one","who","avoids","a","pain","that","produces","no","resultant","pleasure?","On","the","other","hand,","we","denounce","with","righteous","indignation","and","dislike","men","who","are","so","beguiled","and","demoralized","by","the","charms","of","pleasure","of","the","moment,","so","blinded","by","desire,","that","they","cannot","foresee","the","pain","and","trouble","that","are","bound","to","ensue;","and","equal","blame","belongs","to","those","who","fail","in","their","duty","through","weakness","of","will,","which","is","the","same","as","saying","through","shrinking","from","toil","and","pain.","These","cases","are","perfectly","simple","and","easy","to","distinguish.","In","a","free","hour,","when","our","power","of","choice","is","untrammelled","and","when","nothing","prevents","our","being","able","to","do","what","we","like","best,","every","pleasure","is","to","be","welcomed","and","every","pain","avoided.","But","in","certain","circumstances","and","owing","to","the","claims","of","duty","or","the","obligations","of","business","it","will","frequently","occur","that","pleasures","have","to","be","repudiated","and","annoyances","accepted.","The","wise","man","therefore","always","holds","in","these","matters","to","this","principle","of","selection:","he","rejects","pleasures","to","secure","other","greater","pleasures,","or","else","he","endures","pains","to","avoid","worse","pains" };
  53.  
  54.         public static string GetWords(int NumWords = -1,string[] words = null,bool randomWords = false)
  55.         {
  56.            
  57.             if(words == null)
  58.                 words = Words;
  59.            
  60.             if(NumWords == -1)
  61.                 NumWords = words.Length;
  62.  
  63.             if(randomWords)
  64.             {
  65.                 words = words.Shuffle().ToArray();
  66.             }
  67.  
  68.             StringBuilder Result = new StringBuilder(NumWords);
  69.             int index = 0;
  70.             for(int i = 0;i <= NumWords;i++)
  71.             {
  72.                 if(index >= words.Length)
  73.                     index = 0;
  74.  
  75.                 Result.Append(" " + words[index]);
  76.                 index++;
  77.             }
  78.  
  79.             Result.Append(".");
  80.             return Result.ToString();
  81.         }
  82.  
  83.         static IEnumerable<TSource> Shuffle<TSource>(this IEnumerable<TSource> source)
  84.         {
  85.             List<TSource> list = source.ToList();
  86.             Random random = new Random(Guid.NewGuid().ToString().GetHashCode());
  87.  
  88.             for(int i = list.Count - 1;i >= 0;i--)
  89.             {
  90.                 int r = random.Next(i + 1);
  91.                 yield return list[r];
  92.                 list[r] = list[i];
  93.             }
  94.         }
  95.     }
Advertisement
Add Comment
Please, Sign In to add comment